看板 AndroidDev 關於我們 聯絡資訊
想請問大家如何針對不同的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()) { location = gpslocation; } else { location = netlocation; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.78.161.185 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1412817923.A.621.html
ckvir: 這樣寫沒錯阿,或是在使用get 10/09 12:39
ckvir: lastknownlocation的時候就判斷function回傳值正不正確 10/09 12:39
JULONE780701: 是要這樣寫沒錯 10/09 13:10
htury: 我一開始是這樣寫,手邊有上述測試機也沒問題 10/09 13:43
htury: 甚至位置關掉,app都不會crash 10/09 13:44
htury: 直到開alpha版,給人測sony沒開位置,app就直接crash 10/09 13:46
htury: 只是想避免runtime時的app crash,偏偏device不同 10/09 13:47
htury: bug呈現的結果也不同,害我想沒足夠的device怎麼debug 10/09 13:49
ckvir: 可以加try catch 10/09 14:21
ckvir: 試試 10/09 14:21
doom3: 沒開過GPS的新機會拿到NULL 10/11 20:04