web-dev-qa-db-fra.com

L'appel nécessite un niveau d'API 24 (le minimum actuel est de 12): Android.icu.util.calendar

Je crée une application d'alarme simple. Partout où j'utilise la classe Calendar, il affiche une erreur identique à title.

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

Chaque fois que je crée mon projet, il se déroule correctement, mais l'application se bloque lorsqu'elle est lancée sur le téléphone. Voici le 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

J'ai défini mon min SDK à 11, mais cela ne fonctionne toujours pas.

18
Shivam Panwar

Au lieu d'importer Android.icu.util.calendar, essayez d'importer Java.util.Calendar.

Le Android.icu.util.calendar est le ICU remplacement pour Java.util.Calendar mais il n'est disponible qu'à partir de l'API 24. Donc, cela ne fonctionnera que sur les appareils qui sont l'API 24 et au-dessus.

Réf:

56
Ye Lin Aung