这似乎只发生在我的用户设备的一小部分上,我无法重现此问题,但它炸毁了我的Crashlytics报告。
Non-fatal Exception: java.text.ParseException: Unparseable date: "June 17, 1985 11:33:00 UTC" (at offset 0)
at java.text.DateFormat.parse(DateFormat.java:579)
at me.calebjones.spacelaunchnow.content.services.LaunchDataService.parsePreviousResult(LaunchDataService.java:548)
at me.calebjones.spacelaunchnow.content.services.LaunchDataService.getPreviousLaunches(LaunchDataService.java:243)
at me.calebjones.spacelaunchnow.content.services.LaunchDataService.onHandleIntent(LaunchDataService.java:115)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
似乎有多个日期卡住了,但是它们都是相同的格式。这是我解析它的代码。
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy kk:mm:ss zzz");
df.toLocalizedPattern();
JSONObject response = new JSONObject(result);
JSONArray launchesArray = response.optJSONArray("launches");
for (int i = 0; i < launchesArray.length(); i++) {
try {
launch.setLaunchDate(df.parse(launchesObj.optString("net")));
} catch (ParseException e) {
launch.setLaunchDate(null);
}
}
随时在这里查看源代码:https : //github.com/caman9119/SpaceLaunchNow/blob/master/mobile/src/main/java/me/calebjones/spacelaunchnow/content/services/LaunchDataService.java
设置区域设置可以解决此问题。
SimpleDateFormat df = new SimpleDateFormat("MMMM dd, yyyy kk:mm:ss zzz", Locale.US);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句