※ 引述《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;
: }