2014-10-27 155 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傳輸到您的手機應用程序。