日期:2014-05-16  浏览次数:20459 次

Android读入文本是GBK编码就必须转码 InputStreamReader.;多线程异常;Android ADB server didn't ACK * failed to start daem

输入文本界面显示异常,需要转码

BufferedReader reader = new BufferedReader(new InputStreamReader(

         new FileInputStream(file),"GBK"));


只有 主线程 可以对界面进行修改,

子线程中必须要修改界面,为了解决这种问题,Android提供了一个消息通道,让子线程通知主线程进行界面更新。需要自己建立一个Handler类,来在主线程中修改界面。


handler= newHandler(){

      @Override

      public void handleMessage(Messagemsg) {

       // 当接收到子线程发送的消息时,自动调用这个方法.

       // 从子线程传递的消息中取得内容,并设置

       detailText.setText(msg.obj.toString());

      }

    };

在线程中完成这个操作。

// 将数据设置到TextView

  Messagemsg = newMessage();

         msg.obj = builder.toString();

         handler.sendMessage(msg);


Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案

出处http://blog.csdn.net/xiaanming/article/details/9401981

查看5037端口被谁占用了,开始--运行--CMD 到命令提示符,输入 netstat -aon|findstr "5037",如下图

我们从上面根本就看不出5037端口被谁占用,我们需要根据后面的PID(2748)(有可能你查看的不是2748,根据情况来)来查找占用该端口的应用程序,输入 tasklist|findstr "2748" ,如下图