Java Android Values not being added to an Arraylist -


i creating socket connection client utilizing android studio. can make connection between mobile device , server, , first debug message (log.d("while debugger", line)) shows input data server. however, arraylist not appear adding results, , other debug messages not providing output! clarify further, when call returndata() method temperature array returned null. appreciated, , best answer questions asked of i've written. thanks!

package com.mycompany.myfirstapp;  import android.util.log;  import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstreamreader; import java.io.printwriter; import java.net.socket; import java.net.unknownhostexception; import java.util.arraylist;  /**  * created seank on 15/07/2015.  */ public class socketexample {     arraylist<double> temperature = new arraylist<double>();  public socketexample() throws  ioexception {      string serverhostname = new string ("192.168.1.143");      system.out.println ("attemping connect host " +             serverhostname + " on port 10007.");      socket echosocket = null;     printwriter out = null;     bufferedreader in = null;     log.d("here", "got streams");     try {         echosocket = new socket(serverhostname, 10007);         in = new bufferedreader(new inputstreamreader(                 echosocket.getinputstream()));     } catch (unknownhostexception e) {         system.err.println("don't know host: " + serverhostname);         log.e("here","don't know host: " + serverhostname);         system.exit(1);     } catch (ioexception e) {         system.err.println("couldn't i/o "                 + "the connection to: " + serverhostname);         log.e("here","couldn't i/o "                 + "the connection to: " + serverhostname);         system.exit(1);     }      string line;     while( (line = in.readline()) != null ) {         log.d("while debugger", line);         double value = double.parsedouble(line);         temperature.add(value);     }      if(temperature.size() == 0) {         log.d("numbers", "size = 0");     }     else {         log.d("numbers", string.valueof(temperature.size()));     }      if(string.valueof(temperature.size()) == null) {         log.e("numbers", "the temperature size null value");     }     // close our streams     in.close();     out.close();     echosocket.close(); }  public arraylist<double> returndata() {     return temperature; }      public static void main(string[] args) throws ioexception {         socketexample socket = new socketexample();     } } 

i think that, program blocking in while loop, next debug not executed.

you can try add below code while loop

if(temperature.size() == 0) {     log.d("numbers", "size = 0"); } else {     log.d("numbers", string.valueof(temperature.size())); } 

Comments