前阵子研究短信窃听器的时候,碰到一个问题,需要手机和电脑PC之间进行通信,互相传输数据,之间碰到的问题写出来,方便大家共享,减少查找资料的时间。
首先,有关网络的操作,没有用线程,导致出现网络操作报错:android.os.NetworkOnMainThreadException,android 版本不允许在主线程中进行网络访问,需要将网络操作单独放到一个线程中。
new Thread(){
public void run(){
//在此执行网络操作代码
}
}.start();
客户端代码如下:
new Thread(){
public void run(){
System.out.println("before执行连接操作");
Socket s = null;
try {
s = new Socket("192.168.1.101", 30000);
System.out.println("执行连接操作");
PrintWriter pw;
BufferedReader br;
if(s==null){
Log.e("socket","socket is null");
System.out.println("