Re: [問題] 關於android GPS的問題 (附上 DDMS 的 …

看板java作者 (Alfred)時間14年前 (2010/08/19 21:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《skywillnosky (Alfred)》之銘言: : 程式語言:android : 編輯軟體:Eclipse : 請問一下 : GPS定位不是會用到 : .getLongitude() : .getLatitude() : 專門抓經緯度的函式 : 可是不知道為什麼 : 只要牽涉到這兩個函數 : 像是傳給一個double型別的變數 : double x = xxx.getLongitude(); : 或是 xx.append(DoubletoString(xxx.getLongitude())); : 程式就會跑不出來 : 有人知道為什麼嗎? : 誠心請教<(_ _)> : PS:目前只有使用模擬器跑 : 完整程式碼:http://203.64.183.230/MyLocation.7z 找了好久 總算找到LogCat在哪了(我是新手OTZ) 以下是LogCat(只顯示error跟warning) /************************************************************************/ WARN/dalvikvm(1638): threadid=3: thread exiting with uncaught exception (group=0x4000fe70) ERROR/AndroidRuntime(1638): Uncaught handler: thread main exiting due to uncaught exception ERROR/AndroidRuntime(1638): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.demo.android.mylocation/com.demo.android.mylocation.MyLocation}: java.lang.NullPointerException ERROR/AndroidRuntime(1638): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268) ERROR/AndroidRuntime(1638): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284) ERROR/AndroidRuntime(1638): at android.app.ActivityThread.access$1800(ActivityThread.java:112) ERROR/AndroidRuntime(1638): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692) ERROR/AndroidRuntime(1638): at android.os.Handler.dispatchMessage(Handler.java:99) ERROR/AndroidRuntime(1638): at android.os.Looper.loop(Looper.java:123) ERROR/AndroidRuntime(1638): at android.app.ActivityThread.main(ActivityThread.java:3948) ERROR/AndroidRuntime(1638): at java.lang.reflect.Method.invokeNative(Native Method) ERROR/AndroidRuntime(1638): at java.lang.reflect.Method.invoke(Method.java:521) ERROR/AndroidRuntime(1638): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)08-19 ERROR/AndroidRuntime(1638): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540) ERROR/AndroidRuntime(1638): at dalvik.system.NativeStart.main(Native Method) ERROR/AndroidRuntime(1638): Caused by: java.lang.NullPointerException ERROR/AndroidRuntime(1638): at com.demo.android.mylocation.MyLocation.updateStat(MyLocation.java:31) ERROR/AndroidRuntime(1638): at com.demo.android.mylocation.MyLocation.onCreate(MyLocation.java:18) ERROR/AndroidRuntime(1638): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123) ERROR/AndroidRuntime(1638): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231) ERROR/AndroidRuntime(1638): ... 11 more WARN/ActivityManager(568): Launch timeout has expired, giving up wake lock! WARN/ActivityManager(568): Activity idle timeout for HistoryRecord{43638d18 {com.demo.android.mylocation/com.demo.android.mylocation.MyLocation}} WARN/InputManagerService(568): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@436b71d0 /*************************************************************************/ 已經把時間刪掉了 反正錯誤訊息就是由上而下應該不用吧 還有就是有人知道怎麼讓複製的logcat換行嗎? 排版搞的好辛苦= = 拜託各位神手了 ※ 編輯: skywillnosky 來自: 125.230.108.106 (08/19 21:55)

08/19 23:13, , 1F
在27行後面加上
08/19 23:13, 1F

08/19 23:14, , 2F
criteria.setAccuracy(Criteria.ACCURACY_FINE);
08/19 23:14, 2F

08/20 20:48, , 3F
問題解決了 可是跟大大說的那個無關= = 居然是模擬器
08/20 20:48, 3F
的GPS沒開 後來找到該範例的原作者 似乎這個範例無法自己開啟GPS 要先用前一個範例 google map預覽的那個範例 來開啟GPS功能 在執行這個範例才可以 不過還是感謝大家的熱心幫忙 以下是某論壇 蓋索林的留言 /****************************************************************************/ 終於試出來同樣的狀態了。 原因是範例中未處理 GPS 未啟動的情況,因此本範例必須在 GPS 啟動狀態下才可使用 驗證方法: * 可先進入 Maps 程式,按選單進入 My Locations 模式 * 若 My Locations 模式查不到座標,範例也不會查的到 解決方式: 這時,請進入 DDMS 或打開 Emulator Control 面板 (查看本書的 36-13 頁或 36-6 節 ....好像在同一章裡嘛),照著這節的指示改變經緯度的參數,按下 Send 鍵即可看到 Maps 程式中座標跟著改變 這時 GPS 即處於啟動狀態,再去測 MyLocations 程式時即可正常使用。 -- 有第二版的話就來加 GPS 啟動程式碼吧,有人要先試著寫嗎? ※ 編輯: skywillnosky 來自: 203.64.183.229 (08/20 20:56)
文章代碼(AID): #1CRJK6uY (java)