2016-07-23 16 views
10

Basit bir alarm uygulaması yapıyorum. Nerede Calendar sınıfını kullanıyorum, başlık ile aynı hatayı gösteriyor. telefonda başlatıldığı zamankinden Projemi inşa zamanÇağrı API seviyesi 24 gerektirir (geçerli minimum 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); 

, ince ancak uygulama çöker oluşturur.

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 

Ben 11 olmak ama yine de çalışmayan bir set benim dk SDK vardır: Aşağıda Logcat olduğunu. android.icu.util.calendar yerine, java.util.Calendar'u içe aktarmayı deneyin.

+0

uygulama [ThreeTenABP] elde ettiğini, tarih ve saat kullanıyorsa dikkate diğer çözüm (https://github.com/ JakeWharton/ThreeTenABP). Tarih ve zaman sınıfları, artık çok eski 'Takvim' sınıfından çok daha fazla programcı dostudır - "android.icu.util.Calendar" veya "java.util.Calendar" ifadesini kullanıyoruz. –

cevap

46

android.icu.util.calendar, java.util.Calendar için ICU'dur, ancak yalnızca API 24'ten itibaren kullanılabilir. Bu nedenle, yalnızca API 24 ve üstü aygıtlarda çalışacaktır.

Ref:

İlgili konular