我想做一个Android aPP,建立tcp连接后接受收到的数字并显示在屏幕上,如果收到的数字有更新则覆盖原本显示的数字。我需要一段示例代码
时间: 2024-04-29 21:20:50 浏览: 11
当然,我可以为您提供一段示例代码。以下是一个简单的 Android APP 示例,可以建立 TCP 连接,接收数字并将其显示在屏幕上:
```
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
public class MainActivity extends Activity {
private TextView text;
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
text.setText((String) msg.obj);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket("localhost", 9999); // 连接到服务器
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); // 接收数据
String msg = null;
while ((msg = in.readLine()) != null) { // 不断接收数据
Message message = handler.obtainMessage();
message.obj = msg; // 发送消息到UI线程,更新UI
handler.sendMessage(message);
}
in.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}
```
这段示例代码会在应用程序启动时创建一个 TCP 连接,并从服务器端接收数据。将接收到的数据显示在屏幕上,并且如果接收到的数据有更新,则会覆盖原本显示的数字。当然,在实际开发中,您可能需要根据自己的需求对代码进行修改。