作者htury (冰点)
看板AndroidDev
标题[问题] 不同device对bug的反应不同?
时间Thu Oct 9 09:25:20 2014
想请问大家如何针对不同的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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1412817923.A.621.html
1F:推 ckvir: 这样写没错阿,或是在使用get 10/09 12:39
2F:→ ckvir: lastknownlocation的时候就判断function回传值正不正确 10/09 12:39
3F:推 JULONE780701: 是要这样写没错 10/09 13:10
4F:→ htury: 我一开始是这样写,手边有上述测试机也没问题 10/09 13:43
5F:→ htury: 甚至位置关掉,app都不会crash 10/09 13:44
6F:→ htury: 直到开alpha版,给人测sony没开位置,app就直接crash 10/09 13:46
7F:→ htury: 只是想避免runtime时的app crash,偏偏device不同 10/09 13:47
8F:→ htury: bug呈现的结果也不同,害我想没足够的device怎麽debug 10/09 13:49
9F:→ ckvir: 可以加try catch 10/09 14:21
10F:→ ckvir: 试试 10/09 14:21
11F:推 doom3: 没开过GPS的新机会拿到NULL 10/11 20:04