我需要以下崩溃报告的帮助。奇怪的是,我测试过的所有设备都没有产生这个错误。但我的崩溃报告显示,在2周内,其中大约有60起。很明显,它要么限于特定的品牌和设备型号,要么是OS版本。我的应用程序在2.2以上的所有版本上都处于活动状态,因此我正在修复以确定实际问题。日志报告没有给我足够的研究信息。 应用程序正常运行且安装量超过2500次“有75%的有效安装次数多数情况下,这表明该问题仅限于少数用户。非常感谢任何帮助。
**背景:1)应用程序显示特定事件的倒计时时间,静态时间将其转换为本地时区并计算差异。显示'天','小时','最小'和'秒'
2)少数用户在不同的时间表屏幕上报告了一个非常类似的错误。
java.lang.RuntimeException:无法启动活动 ComponentInfo {alfi.programs.olympics2012 / alfi.programs.olympics2012.OlympicsMainScreen}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1997) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2018) 在android.app.ActivityThread.access $ 500(ActivityThread.java:139)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1124) 在android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:152)at android.app.ActivityThread.main(ActivityThread.java:4636)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:491)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)at dalvik.system.NativeStart.main(Native方法)引起: java.lang.NullPointerException at java.util.Calendar.setTime(Calendar.java:1325)at java.text.SimpleDateFormat.formatImpl(SimpleDateFormat.java:536)at java.text.SimpleDateFormat.format(SimpleDateFormat.java:818)at java.text.DateFormat.format(DateFormat.java:376)at alfi.programs.olympics2012.OlympicsMainScreen.getLocalTimeCountDown(OlympicsMainScreen.java:393) 在 alfi.programs.olympics2012.OlympicsMainScreen.countDownTime(OlympicsMainScreen.java:284) 在 alfi.programs.olympics2012.OlympicsMainScreen.onCreate(OlympicsMainScreen.java:55) 在android.app.Activity.performCreate(Activity.java:4521)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1961) ......还有11个
private String getLocalTimeCountDown(Object date, Object time){
String time1 = time.toString();
String timeStart = time1.substring(0, 5);
String fromDateString = date.toString() + " / " + timeStart + " GMT+01:00";
DateFormat formatter = new SimpleDateFormat("dd MMM / HH:mm zzz");
Date fromDate = null;
try {
fromDate = (Date)formatter.parse(fromDateString);
} catch (ParseException e) {
Toast.makeText(getApplicationContext(), "Oops.. there seems to be some problem... Report" +
" this immediately using the feedback link from the Main Screen.", 500).show();
}
TimeZone central = TimeZone.getDefault();
formatter.setTimeZone(central);
return formatter.format(fromDate);
}
答案 0 :(得分:0)
好吧,我怀疑问题是有一个ParseException
- 您已经抓住了完全忽略了。那就是fromDate
为空,所以当你再调用formatter.format(fromDate)
时,你会传递一个空引用,这是你不应该做的。
你几乎永远不会拥有像这样的空捕获块。如果文本无法正确解析,您想要做什么?