Advertisement
Pavle_nis

LAN

Oct 7th, 2017
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.14 KB | None | 0 0
  1.    private Button btnScan;
  2.     private ListView listViewIp;
  3.     private String defaultGateway = "";
  4.     DhcpInfo dhcp;
  5.     WifiManager manager;
  6.     ArrayList<String> ipList;
  7.     ArrayAdapter<String> adapter;
  8.  
  9.     public ServersFragment()
  10.     {
  11.         // Required empty public constructor
  12.     }
  13.  
  14.     @Override
  15. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  16.                          Bundle savedInstanceState)
  17. {
  18.     // Inflate the layout for this fragment
  19.     View view = inflater.inflate(R.layout.fragment_servers, container, false);
  20.  
  21.     btnScan = (Button) view.findViewById(R.id.readclient);
  22.     listViewIp = (ListView) view.findViewById(R.id.listviewip);
  23.  
  24.     ipList = new ArrayList();
  25.     adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, ipList);
  26.     listViewIp.setAdapter(adapter);
  27.  
  28.     btnScan.setOnClickListener(new View.OnClickListener()
  29.     {
  30.         @Override
  31.         public void onClick(View v)
  32.         {
  33.             new ScanIpTask().execute();
  34.         }
  35.     });
  36.  
  37.     manager = (WifiManager) getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE);
  38.     dhcp = manager.getDhcpInfo();
  39.     defaultGateway = Formatter.formatIpAddress(dhcp.gateway);
  40.  
  41.     SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
  42.     SharedPreferences.Editor editor = prefs.edit();
  43.     editor.putString("defaultGateway", defaultGateway);
  44.     editor.commit();
  45.  
  46.     return view;
  47. }
  48.  
  49.  
  50. private class ScanIpTask extends AsyncTask<Void, String, Void>
  51. {
  52.     int timeout = 1000;
  53.  
  54.     @Override
  55.     protected void onPreExecute()
  56.     {
  57.         ipList.clear();
  58.         adapter.notifyDataSetInvalidated();
  59.         Toast.makeText(getActivity(), "Scan IP...", Toast.LENGTH_LONG).show();
  60.  
  61.         SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
  62.         String defaultGateway = prefs.getString("defaultGateway", "");
  63.  
  64.         defaultGateway = defaultGateway.substring(0, 9) + ".";
  65.     }
  66.  
  67.     @Override
  68.     protected Void doInBackground(Void... params)
  69.     {
  70.         for (int i = 0; i <= 255; i++)
  71.         {
  72.             String host = defaultGateway + i;
  73.             System.out.println("host: " + host);
  74.             try
  75.             {
  76.                 InetAddress inetAddress = InetAddress.getByName(host);
  77.                 if (inetAddress.isReachable(timeout))
  78.                 {
  79.                     publishProgress(inetAddress.toString());
  80.                 }
  81.  
  82.             } catch (UnknownHostException e)
  83.             {
  84.                 e.printStackTrace();
  85.             } catch (IOException e)
  86.             {
  87.                 e.printStackTrace();
  88.             }
  89.         }
  90.  
  91.         return null;
  92.     }
  93.  
  94.     @Override
  95.     protected void onProgressUpdate(String... values)
  96.     {
  97.         ipList.add(values[0]);
  98.         adapter.notifyDataSetInvalidated();
  99.         Toast.makeText(getActivity(), values[0], Toast.LENGTH_LONG).show();
  100.     }
  101.  
  102.     @Override
  103.     protected void onPostExecute(Void aVoid)
  104.     {
  105.         Toast.makeText(getActivity(), "Done", Toast.LENGTH_LONG).show();
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement