2014-10-27 157 views
1

我正在与我的团队构建一个应用程序,让机器人汽车通过移动设备进行驱动。它可以在我的手机上完美运行,但现在我已经将应用程序移植到了Android Wear上,让我连接到Raspberry Pi上的服务器的线程无法工作。有没有办法让这个线程工作?Android Wear无法启动线程

代码:

public class SocketConnect { 

static DataOutputStream dOut; 
static Socket socket; 

public static void connect() { 
    System.out.println("Got to Connect"); 
    new Thread() { 
     public void run() { 

      try { 

       socket = new Socket("192.168.2.9", 8899); 
       System.out.println("Trying at 2.9"); 
       dOut = new DataOutputStream(socket.getOutputStream()); 
      } catch (IOException e) { 

       e.printStackTrace(); 
      } 

     } 

    }.start(); 

} 
....further code 

logcat的错误:http://pastebin.com/0BtF27p8 (无法得到它在编辑器中格式化好的)

回答

3

两个问题你的方法:

  1. NetworkOnMainThreadException - 你无法在Android 4.0+设备上的主(UI)线程上执行网络操作
  2. A ndroid穿戴设备不能直接连接到任何互联网地址 - 您必须使用Wearable Data Layer将信息发送到手机上的应用程序,并把它连接/到服务器

传递的信息在许多情况下,包括你” d想要控制机器人汽车,您可能希望使用messages将轻量级命令从Watch传输到您的手机应用程序。