我必须显示UDP服务器的接收数据。当数据来自服务器时,我必须逐个在屏幕上显示。如何更新屏幕(Textview(或)EditText)?
我需要在屏幕上添加(rec_str)值。
public void run() {
try {
DatagramSocket clientsocket = new DatagramSocket(9876);
byte[] receivedata = new byte[1024];
while(true)
{
DatagramPacket recv_packet = new DatagramPacket(receivedata, receivedata.length);
Log.d("UDP", "S: Receiving...");
clientsocket.receive(recv_packet);
String rec_str = new String(recv_packet.getData());
Log.d(" Received String ",rec_str);
InetAddress ipaddress = recv_packet.getAddress();
int port=recv_packet.getPort();
Log.d("IPAddress : ",ipaddress.toString());
Log.d(" Port : " ,Integer.toString(port));
}
} catch (Exception e) {
Log.e("UDP", "S: Error", e);
}
}
当我使用settext
时,它仅显示最后一个文本。我怎样才能看到所有的数据?
(数据将逐一出现。当数据出现时,我还需要用现有数据显示当前数据。)
答案 0 :(得分:1)
您应该使用TextView
方法设置setText(CharSequence text)
,并传递rec_str
字符串。
看一下类引用,有几种不同的setText()方法接受不同类型的输入:
http://developer.android.com/reference/android/widget/TextView.html