安卓java端socket接收数据_Android笔记:Socket客户端收发数据

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~~~");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值