importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;importjava.io.PrintWriter;importjava.net.Socket;importjava.net.SocketException;importjava.net.UnknownHostException;importandroid.os.Bundle;importandroid.os.Handler;importandroid.os.Message;importandroid.app.Activity;importandroid.content.Context;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.util.Log;importandroid.view.Menu;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;public class Client extendsActivity {private String TAG = "===Client===";private String TAG1 = "===Send===";private TextView tv1 = null;
Handler mhandler;
Handler mhandlerSend;boolean isRun = true;
EditText edtsendms;
Button btnsend;private String sendstr = "";
SharedPreferences sp;
Button btnSetting;privateContext ctx;
Socket socket;
PrintWriter out;
BufferedReader in;
SocThread socketThread;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.client);
tv1=(TextView) findViewById(R.id.tv1);
btnsend=(Button) findViewById(R.id.button1);
ctx= Client.this;
edtsendms=(EditText) findViewById(R.id.editText1);
btnSetting=(Button) findViewById(R.id.button2);
mhandler= newHandler() {
@Overridepublic voidhandleMessage(Message msg) {try{
MyLog.i(TAG,"mhandler接收到msg=" +msg.what);if (msg.obj != null) {
String s=msg.obj.toString();if (s.trim().length() > 0) {
MyLog.i(TAG,"mhandler接收到obj=" +s);
MyLog.i(TAG,"开始更新UI");
tv1.append("Server:" +s);
MyLog.i(TAG,"更新UI完毕");
}else{
Log.i(TAG,"没有数据返回不更新");
}
}
}catch(Exception ee) {
MyLog.i(TAG,"加载过程出现异常");
ee.printStackTrace();
}
}
};
mhandlerSend= newHandler() {
@Overridepublic voidhandleMessage(Message msg) {try{
MyLog.i(TAG,"mhandlerSend接收到msg.what=" +msg.what);
String s=msg.obj.toString();if (msg.what == 1) {
tv1.append("\n ME: " + s + " 发送成功");
}else{
tv1.append("\n ME: " + s + " 发送失败");
}
}catch(Exception ee) {
MyLog.i(TAG,"加载过程出现异常");
ee.printStackTrace();
}
}
};
startSocket();
btnsend.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View v) {//发送数据
MyLog.i(TAG, "准备发送数据");
sendstr=edtsendms.getText().toString().trim();
socketThread.Send(sendstr);
}
});
btnSetting.setOnClickListener(newOnClickListener() {
@Overridepublic voidonClick(View v) {//跳转到设置界面
Intent intent = newIntent();
intent.setClass(Client.this, Setting.class);
MyLog.i(TAG,"跳转至设置界面");
ctx.startActivity(intent);//打开新界面
}
});
}public voidstartSocket() {
socketThread= newSocThread(mhandler, mhandlerSend, ctx);
socketThread.start();
}
@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.client, menu);return true;
}private voidstopSocket() {
socketThread.isRun= false;
socketThread.close();
socketThread= null;
MyLog.i(TAG,"Socket已终止");
}
@Overrideprotected voidonStart() {super.onStart();
Log.e(TAG,"start onStart~~~");
}
@Overrideprotected voidonRestart() {super.onRestart();
Log.e(TAG,"start onRestart~~~");
startSocket();
}
@Overrideprotected voidonResume() {super.onResume();
Log.e(TAG,"start onResume~~~");
}
@Overrideprotected voidonPause() {super.onPause();
Log.e(TAG,"start onPause~~~");
}
@Overrideprotected voidonStop() {super.onStop();
Log.e(TAG,"start onStop~~~");
stopSocket();
}
@Overrideprotected voidonDestroy() {super.onDestroy();
Log.e(TAG,"start onDestroy~~~");
}
}