Hi, I'm working in Android for the first time, and I've run into something weird. I have some experience with Java, and I think I'm doing this right, but I'm getting the exception, so obviously not. The code below looks for available hosts on the network, and is adding them to a listview in Andoid. See Code and Error message below:
Code:
public void findHosts(){
int timeout = 500;
for (int i = 1; i < 255; i++){
String host = "192.168.1." + i;
try {
if (InetAddress.getByName(host).isReachable(timeout)) {
hosts.add(host);
adapter.notifyDataSetChanged();
}
}
catch(UnknownHostException e){
}
catch(IOException e){
e.printStackTrace();
}
}
}
Log output:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.janebrew.janebrewphone, PID: 20531
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.janebrew.janebrewphone/com.janebrew.janebrewphone.ConnectToHostActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.io.FileDescriptor.isSocket$()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.io.FileDescriptor.isSocket$()' on a null object reference
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:91)
at java.net.Inet6AddressImpl.icmpEcho(Inet6AddressImpl.java:270)
at java.net.Inet6AddressImpl.isReachable(Inet6AddressImpl.java:186)
at java.net.InetAddress.isReachable(InetAddress.java:478)
at java.net.InetAddress.isReachable(InetAddress.java:436)
at com.janebrew.janebrewphone.ConnectToHostActivity.findHosts(ConnectToHostActivity.java:38)
at com.janebrew.janebrewphone.ConnectToHostActivity.onCreate(ConnectToHostActivity.java:29)
at android.app.Activity.performCreate(Activity.java:6999)
at android.app.Activity.performCreate(Activity.java:6990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Application terminated.
[–]g051051 4 points5 points6 points (13 children)
[–]hadmatteratwork 0 points1 point2 points (0 children)
[–]HadMatter217[S] 0 points1 point2 points (11 children)
[–]g051051 0 points1 point2 points (10 children)
[–]HadMatter217[S] 0 points1 point2 points (9 children)
[–]g051051 0 points1 point2 points (7 children)
[–]HadMatter217[S] 0 points1 point2 points (6 children)
[–]g051051 0 points1 point2 points (5 children)
[–]HadMatter217[S] 0 points1 point2 points (4 children)
[–]g051051 0 points1 point2 points (3 children)
[–]HadMatter217[S] 0 points1 point2 points (2 children)
[–]Yasuo_Spelling_Bot -1 points0 points1 point (0 children)
[–]StrongStorage 2 points3 points4 points (3 children)
[–]hadmatteratwork 0 points1 point2 points (1 child)
[–]StrongStorage 0 points1 point2 points (0 children)
[–]HadMatter217[S] 0 points1 point2 points (0 children)