安卓通信代码
时间: 2023-06-21 19:21:40 浏览: 43
安卓通信代码需要根据具体场景和需求进行编写,下面是一个简单的安卓Socket通信的示例代码:
```java
public class ClientActivity extends Activity {
private EditText etIp, etPort, etSend;
private Button btnSend;
private TextView tvRecv;
private Socket socket;
private OutputStream outputStream;
private InputStream inputStream;
private byte[] buffer = new byte[1024];
private int len;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
String recvStr = (String) msg.obj;
tvRecv.setText("收到:" + recvStr);
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_client);
etIp = (EditText) findViewById(R.id.et_ip);
etPort = (EditText) findViewById(R.id.et_port);
etSend = (EditText) findViewById(R.id.et_send);
btnSend = (Button) findViewById(R.id.btn_send);
tvRecv = (TextView) findViewById(R.id.tv_recv);
btnSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
try {
String ip = etIp.getText().toString().trim();
int port = Integer.parseInt(etPort.getText().toString().trim());
String sendStr = etSend.getText().toString().trim();
socket = new Socket(ip, port);
outputStream = socket.getOutputStream();
inputStream = socket.getInputStream();
outputStream.write(sendStr.getBytes());
outputStream.flush();
len = inputStream.read(buffer);
String recvStr = new String(buffer, 0, len);
Message msg = handler.obtainMessage();
msg.what = 0;
msg.obj = recvStr;
handler.sendMessage(msg);
outputStream.close();
inputStream.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
});
}
}
```
这段代码实现了一个简单的安卓Socket通信的功能,通过输入对方的IP地址和端口号,发送一段字符串,接收对方返回的数据并在界面上显示。需要注意的是,这段代码只是一个示例,实际应用中还需要进行异常处理和线程安全等方面的优化。