我正在制作一个简单的报警应用程序。无论我在哪里使用Calendar
类,它都会显示一个与title相同的错误。
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 30);
每当我构建我的项目时,它都会构建得很好,但当它在手机上启动时,应用程序就会崩溃。以下是Logcat:
07-22 18:24:15.607 18047-18047/com.example.panwa.afinal D/AndroidRuntime: Shutting down VM
07-22 18:24:15.607 18047-18047/com.example.panwa.afinal W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x40d952d0)
07-22 18:24:15.627 18047-18047/com.example.panwa.afinal E/AndroidRuntime: ***FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.icu.util.Calendar***
at com.example.panwa.afinal.MainActivity.startAt10(MainActivity.java:70)
at com.example.panwa.afinal.MainActivity$3.onClick(MainActivity.java:46)
at android.view.View.performClick(View.java:4275)
at android.view.View$PerformClick.run(View.java:17434)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:177)
at android.app.ActivityThread.main(ActivityThread.java:4947)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
07-22 18:25:33.824 18047-18047/com.example.panwa.afinal I/Process: Sending signal. PID: 18047 SIG: 9
我把我的最小SDK设置为11,但它仍然不起作用。
不要导入android.icu.util.calendar
,而是尝试导入java.util.Calendar
。
android.icu.util.calendar
是java.util.Calendar
的ICU替代品,但只能从API 24开始使用。因此,它只适用于API 24及以上的设备。
参考:
- Java日历
- ICU日历