一旦将消息发送到套接字,我想显示一个Toast.这个"Log.d("ClientActivity","C:Sent.");"
我是否需要创建一个单独的线程来显示Toast?
public class ClientActivity extends Activity {
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.client);
serverIp = (EditText) findViewById(R.id.EditText01);
message =(EditText) findViewById(R.id.EditText02);
connectPhones = (Button) findViewById(R.id.Button01);
}
public void Click1(View v) {
if (!connected) {
serverIpAddress = serverIp.getText().toString();
if (!serverIpAddress.equals("")) {
Thread cThread = new Thread(new ClientThread());
cThread.start();
}
}
}
private class ClientThread implements Runnable {
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
Log.d("ClientActivity", "C: Connecting...");
Socket socket = new Socket(serverAddr, ServerActivity.SERVERPORT);
connected = true;
while (connected) {
try {
if(i>5)
{
}
else
{
Log.d("ClientActivity", "C: Sending command.");
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
.getOutputStream())), true);
// where you issue the commands
message1= message.getText().toString();
out.println(message1);
i=i+1;
Log.d("ClientActivity", "C: Sent.");
}
} catch (Exception e) {
Log.e("ClientActivity", "S: Error", e);
}
}
socket.close();
Log.d("ClientActivity", "C: Closed.");
} catch (Exception e) {
Log.e("ClientActivity", "C: Error", e);
connected = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
5hs*_*sba 18
放
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(ClientActivity.this,"asdf",Toast.LENGTH_LONG).show();
}
});
Run Code Online (Sandbox Code Playgroud)
在这一行之后
Log.d("ClientActivity", "C: Connecting...");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20806 次 |
| 最近记录: |