安卓网络编程
一、安卓Socket之服务端开发
- 安卓Socket客户端开发注意事项:
网络访问不能在主线程(UI线程)中进行,否则程序会崩溃。
要创建线程来发起网络访问。package com.example.jiangyo.learn; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import java.util.Scanner; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void Socket_Client() { new Thread(new Runnable() { public void run() { // TODO Auto-generated method stub try { //连接服务端 Socket client = new Socket("192.168.101.77", 8080); OutputStream out = client.getOutputStream(); String mes = "massege frome Android"; out.write(mes.getBytes());//发送通道发送数据 } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } //该函数为主页面的Onclieck函数,点击Button后跳转到第二个页面并连接服务器。 public void gotoSecondPage(View v) { Socket_Client(); //设置跳转的页面 Intent intent = new Intent(this, SecActivity.class); //实行跳转 startActivity(intent); } }