2016-07-23 38 views
10

Tôi đang tạo một ứng dụng báo thức đơn giản. Bất cứ nơi nào tôi đang sử dụng Calendar lớp nó hiển thị một lỗi giống như tiêu đề.Cuộc gọi yêu cầu cấp API 24 (mức tối thiểu hiện tại là 12): android.icu.util.calendar

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(System.currentTimeMillis()); 
calendar.set(Calendar.HOUR_OF_DAY, 10); 
calendar.set(Calendar.MINUTE, 30); 

Bất cứ khi nào tôi xây dựng dự án của mình, ứng dụng đều tạo ra sự cố nhưng ứng dụng gặp sự cố khi được khởi chạy trên điện thoại. Dưới đây là 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 

Tôi có một thiết lập SDK phút của tôi là 11 nhưng nó vẫn không hoạt động.

+0

Các giải pháp khác mà bạn có thể xem xét nếu ứng dụng của bạn sử dụng ngày tháng và thời gian, là nhận được [ThreeTenABP] (https://github.com/ JakeWharton/ThreeTenABP). Các lớp ngày tháng và thời gian của nó nói chung thân thiện với nhiều lập trình viên hơn so với lớp 'Calendar' hiện tại rất cũ - bất kể chúng ta đang nói' android.icu.util.Calendar' hay 'java.util.Calendar'. –

Trả lời

46

Thay vì nhập android.icu.util.calendar, hãy thử nhập java.util.Calendar.

android.icu.util.calendar là ICU thay thế cho java.util.Calendar nhưng chỉ có sẵn bắt đầu từ API 24. Vì vậy, nó sẽ chỉ hoạt động trên các thiết bị API 24 trở lên.

Ref:

Các vấn đề liên quan