M
moelski
Neues Mitglied
Moin !
Ich versuche grade eine kleine Anwendung zu schreiben. Die soll nur von einem TCP Server Daten empfangen.
Mein Code besteht im Grunde nur aus einer Klasse und der Methode OnCreate:
Der Code funktioniert soweit wenn ich nicht den While Block unten nutze. Dann kriege ich eine Message vom Server und sende ein Feedback zurück. Klappt alles super.
Nehme ich die While Schleife in Betrieb dann wird mein Textfeld nicht mehr beschrieben. Die Daten werden aber empfangen. Das kann ich im Debugger sehen.
Auch ein myView1.Invalidate(); hilft nicht.
Hat jemand eine Idee warum die While Schleife da so einen Stress macht? Das ist sicher nicht sauber so, aber ich wollte nur mal checken ob das generell klappt.
Grüße Dominik
Ich versuche grade eine kleine Anwendung zu schreiben. Die soll nur von einem TCP Server Daten empfangen.
Mein Code besteht im Grunde nur aus einer Klasse und der Methode OnCreate:
Code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
setContentView(R.layout.main);
myView1 = (TextView)findViewById(R.id.textfield1);
Socket s = new Socket("xxx.xxx.xxx.xxx", 9050);
BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
//read line(s)
String st = input.readLine();
myView1.setText("Connection OK : " + st);
//outgoing stream redirect to socket
OutputStream out = s.getOutputStream();
PrintWriter output = new PrintWriter(out);
output.println("This comes from the Android LV :)\n\r");
output.flush();
while (true)
{
st = input.readLine();
st = "Data " + st + " END";
st = st.trim() + "\n";
myView1.setText(st);
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
myView1.setText("Connection bad : " + e.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
myView1.setText("Connection bad : " + e.toString());
}
}
Nehme ich die While Schleife in Betrieb dann wird mein Textfeld nicht mehr beschrieben. Die Daten werden aber empfangen. Das kann ich im Debugger sehen.
Auch ein myView1.Invalidate(); hilft nicht.
Hat jemand eine Idee warum die While Schleife da so einen Stress macht? Das ist sicher nicht sauber so, aber ich wollte nur mal checken ob das generell klappt.
Grüße Dominik