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
Post a Comment