基本信息
源码名称:Android tcp通讯学习用
源码大小:6.40KB
文件格式:.java
开发语言:Java
更新时间:2014-08-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
核心代码:
package com.Test; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.app.Activity; import android.view.Menu; import android.widget.Button; import android.view.View; import android.view.View.OnClickListener; import java.io.BufferedInputStream; import java.io.InputStream; import java.io.OutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.PrintWriter; import java.io.Reader; import java.net.Socket; import java.net.ServerSocket; import java.net.UnknownHostException; import android.view.TextureView; import android.widget.EditText; import java.lang.String; import java.lang.Thread; public class MainActivity extends Activity implements OnClickListener{ private Button m_btn; private Button m_sendbtn; private ServerSocket mySerSocket; private Socket clientSocket; private EditText m_edit; private String line; boolean conn = true; private Socket accSocket; private static final String Host = "10.0.2.2"; private static final int Port = 12000; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); m_btn = (Button)findViewById(R.id.button1); m_sendbtn = (Button)findViewById(R.id.button2); m_edit = (EditText)findViewById(R.id.editText1); //m_btn.setOnClickListener(this); m_btn.setOnClickListener(new ReceiverListener()); m_sendbtn.setOnClickListener(this); //Socket clientSocket = new Socket(Host, Port); } class ReceiverListener implements OnClickListener { private ReceiveThread mReceiveThread = null; private boolean stop = true; private Handler mHandler = null; public void onClick(View v) { try { if(clientSocket == null) { clientSocket = new Socket(Host, Port); } // InputStream myInputStream = clientSocket.getInputStream(); // // //BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream)); // // byte [] buffer = new byte[myInputStream.available()]; //int temp = 0; //String strMsg = in.readLine(); // myInputStream.read(buffer); // // // String strMsg = new String(buffer); // // m_edit.setText(strMsg); // while ((temp = myInputStream.read(buffer)) != -1) // { // m_edit.setText(new String(buffer, 0, temp)); // // } mReceiveThread = new ReceiveThread(clientSocket); stop = false; mReceiveThread.start(); } catch (IOException e) { e.printStackTrace(); } //消息处理 mHandler = new Handler() { public void handleMessage(Message msg) { m_edit.setText((msg.obj).toString()); } }; } private class ReceiveThread extends Thread { private InputStream inStream = null; private byte[] buf; private String str = null; ReceiveThread(Socket s) { try { this.inStream = s.getInputStream(); } catch(IOException e) { e.printStackTrace(); } } public void run() { while(!stop) { this.buf = new byte[512]; try { this.inStream.read(this.buf); } catch(IOException e) { e.printStackTrace(); } try { this.str = new String(this.buf, "GB2312").trim(); } catch(UnsupportedEncodingException e) { e.printStackTrace(); } Message msg = new Message(); msg.obj = this.str; mHandler.sendMessage(msg); } } } } public void onClick(View v) { // if (v.getId() == R.id.button1) // { // new Thread() // { // public void run() // { // try // { // if(clientSocket == null) // { // clientSocket = new Socket(Host, Port); // } // InputStream myInputStream = clientSocket.getInputStream(); // // BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream)); // // byte [] buffer = new byte[1024 * 4]; // // int temp = 0; // // String strMsg = in.readLine(); // // //myInputStream.read(buffer); // // //String strMsg = new String(buffer); // // m_edit.setText(strMsg); // //// while ((temp = myInputStream.read(buffer)) != -1) //// { //// m_edit.setText(new String(buffer, 0, temp)); //// //// } // // } // catch (IOException e) // { // e.printStackTrace(); // } // } // }.start(); // // } if(v.getId() == R.id.button2) { new Thread() { public void run() { try { if(clientSocket == null) { clientSocket = new Socket(Host, Port); } //inputStream clientInputStream = clientSocket. String msg = "RESET-SHOW"; //InputStream clientInputStream = clientSocket.getInputStream(); //BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); //BufferedReader br = new BufferedReader(); //line = br.readLine(); OutputStream clientOutputStream = clientSocket.getOutputStream(); byte buffer[]=msg.getBytes(); clientOutputStream.write(buffer); clientOutputStream.flush(); //int temp = 0; // PrintWriter out = new PrintWriter(clientOutputStream); // // out.println("Serer Message: " msg); } catch(IOException e) { e.printStackTrace(); } } }.start(); } } private Reader InputStreamReader() { // TODO Auto-generated method stub return null; } // private Handler handler = new Handler() // { // public void handleMessage(Message msg) // { // super.handleMessage(msg); // //处理UI // m_edit.setText("Finish"); // Log.i("PDA", "Finish"); // // } // }; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }