socket 接收服务器消息

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;@SuppressLint("HandlerLeak")public class SocketDemo extends Activity {    /** Called when the activity is first created. */    private Button btn_receive;    private TextView txt;    private String line;    private static final String HOST = "192.168.1.101";    private static final int PORT = 9999;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initControl();    }    private void initControl() {        btn_receive = (Button) findViewById(R.id.btn_receive);        txt = (TextView) findViewById(R.id.txt);        btn_receive.setOnClickListener(new ReceiverListener());    }    @SuppressLint("HandlerLeak")    class ReceiverListener implements OnClickListener {        @Override        public void onClick(View v) {            // TODO Auto-generated method stub            new Thread() {                @Override                public void run() {                    // 执行完毕后给handler发送一个空消息                    try {                        // 实例化Socket                        Socket socket = new Socket(HOST, PORT);                        // 获得输入流                        BufferedReader br = new BufferedReader(                            new InputStreamReader(socket.getInputStream()));                        line = br.readLine();                        br.close();                    } catch (UnknownHostException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    } catch (IOException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                    handler.sendEmptyMessage(0);                }            } .start();        }    }    // 定义Handler对象    private Handler handler = new Handler() {        @Override        // 当有消息发送出来的时候就执行Handler的这个方法        public void handleMessage(Message msg) {            super.handleMessage(msg);            // 处理UI            txt.setText(line);            Log.i("PDA", "----->" + line);        }    };}

转自云代码:yuncode.net/code/c_518ee8bc8b0ae74

更多相关文章

  1. android定时器
  2. android 获取联系人和短消息信息
  3. android 定时发送短信实现
  4. Android(安卓)——对HandlerThread的理解和注意事项
  5. 《Android系统学习》第十章:Android消息处理、消息循环和消息队列
  6. Androidの发送Email
  7. android 发送邮件
  8. Android异步消息处理机制完全解析-Handler详解
  9. 如何申请Android(安卓)MapView的apiKey

随机推荐

  1. Android(安卓)的常用控件(下拉,日期,时间,单
  2. android 读取网络 xml 数据
  3. Android积木之LayoutParams使用
  4. android学习日常3-15 关于单选框附加监听
  5. Android(安卓)访问权限许可大全
  6. pull解析xml(android)
  7. Android支持横行滚动的ListView控件
  8. Android(安卓)中文字符转UTF-8编码
  9. android - mvp实现商品详情页面【仿】京
  10. Android(安卓)InputMethodManager 导致的