綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] [solved]手機app連接arduino開發問題

[複製連結] 查看: 1964|回覆: 4|好評: 0
跳轉到指定樓層
樓主
kansas73 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2014-8-16 11:53

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 kansas73 於 2014-9-16 14:15 編輯

我正在寫一個android控制arduino的程式。
我開了兩個模擬器分別是 2.3.7和 4.1.1的版本
可是我的程式在2.3.7的版本下都不會有任何問題,也可以正常使arduino動作
可是當我開4.1.1版本的模擬器的時候按下與arduino連接的button的時候卻出現錯誤強制關閉,
後來我以為是什麼版本問題所以我又開了4.0的版本的專案跟模擬器還是會出現錯誤
然後我也有丟到 我自己的手機去測試(S牌 S2 版本4.1),一樣的錯誤問題
以下是我的LogCat
  1. 08-16 03:43:41.046: E/AndroidRuntime(967): FATAL EXCEPTION: main
  2. 08-16 03:43:41.046: E/AndroidRuntime(967): android.os.NetworkOnMainThreadException
  3. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
  4. 08-16 03:43:41.046: E/AndroidRuntime(967):         at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)
  5. 08-16 03:43:41.046: E/AndroidRuntime(967):         at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
  6. 08-16 03:43:41.046: E/AndroidRuntime(967):         at libcore.io.IoBridge.connect(IoBridge.java:112)
  7. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
  8. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
  9. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.Socket.startupSocket(Socket.java:566)
  10. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.Socket.tryAllAddresses(Socket.java:127)
  11. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.Socket.<init>(Socket.java:177)
  12. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.net.Socket.<init>(Socket.java:149)
  13. 08-16 03:43:41.046: E/AndroidRuntime(967):         at jj.jj.Main$1.onClick(Main.java:90)
  14. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.view.View.performClick(View.java:4084)
  15. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.view.View$PerformClick.run(View.java:16966)
  16. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.os.Handler.handleCallback(Handler.java:615)
  17. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.os.Handler.dispatchMessage(Handler.java:92)
  18. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.os.Looper.loop(Looper.java:137)
  19. 08-16 03:43:41.046: E/AndroidRuntime(967):         at android.app.ActivityThread.main(ActivityThread.java:4745)
  20. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.lang.reflect.Method.invokeNative(Native Method)
  21. 08-16 03:43:41.046: E/AndroidRuntime(967):         at java.lang.reflect.Method.invoke(Method.java:511)
  22. 08-16 03:43:41.046: E/AndroidRuntime(967):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
  23. 08-16 03:43:41.046: E/AndroidRuntime(967):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
  24. 08-16 03:43:41.046: E/AndroidRuntime(967):         at dalvik.system.NativeStart.main(Native Method)
複製代碼

各位大師們可以幫我想一下是什麼樣的問題嗎?
我不知道是不是程式寫錯的問題,可是2.X版本卻又可以正常執行(其實在之前我丟到手機也是可以正常使用的!!!)
但現在卻不知道出現什麼問題,虛心求解 謝謝你們!
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
whl | 收聽TA | 只看該作者
發表於 2014-8-19 07:13
老問題,上網查 netowrkonmainthread 就會有一大堆解答,或者爬文一下就會有解答。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
b8892778 | 收聽TA | 只看該作者
發表於 2014-8-24 09:10
/*設定可以讓Thread運行在Android主要Thread*/
                StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
                StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
               
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-25 00:07
whl 發表於 2014-8-19 07:13
老問題,上網查 netowrkonmainthread 就會有一大堆解答,或者爬文一下就會有解答。 ...

to whl:
恩...我GOOGLE一下的確是老問題,真抱歉我應該先自己爬文再來發問謝謝您哦!!!
以解決我的問題了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2014-8-25 00:11
b8892778 發表於 2014-8-24 09:10
/*設定可以讓Thread運行在Android主要Thread*/
                StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy ...

To b8892778:
謝謝您的解答哦!!
我自己是爬文到另一個比較直接的方式,如下:
  1. if (android.os.Build.VERSION.SDK_INT > 9) {
  2.             StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  3.             StrictMode.setThreadPolicy(policy);
  4.         }
複製代碼

您的方式我也會是看看的!!謝謝熱心回覆哦!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則