看板 AndroidDev 關於我們 聯絡資訊
※ 引述《htury (冰點)》之銘言: : 想請問大家如何針對不同的devices 來寫程式甚至debug : 目前遇到的問題是用google map,確定location 的provider的code我是寫在下面的 : 結果紅米,HTC,google nexus 5都正常,因為這是手邊現有的測試機 : 但在alpha測試 ,使用者用sony Xperia Z 就死在黃色字的那邊,整個APP就crash,傳進NullPointerException : 現在想到的解法是任何指標要被method作用時,都先判斷是不是null,在做下一步 : 以避免APP crash掉 : 各位先進有更好寫法,可以指教一下~~ : Location netlocation = : locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); : Location gpslocation = : locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); : if (gpslocation != null && gpslocation.getTime() > netlocation.getTime()) { 沒有檢查 netlocation,是不是因為 netlocation 是 null? API 有機會 throw 二個 exception, 其中 IllegalArgumentException 應該要 catch, 雖然可能不是這次 crash 的原因, 但最好還是注意一下。 : location = gpslocation; : } else { : location = netlocation; : } -- http://changyuheng.github.io/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.143.188 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1412864789.A.4FA.html ※ 編輯: changyuheng (220.141.143.188), 10/09/2014 22:26:43