web-dev-qa-db-ja.com

呼び出しにはAPIレベル24が必要です(現在の最小値は12):Android.icu.util.calendar

シンプルなアラームアプリを作成しています。 Calendarクラスを使用しているところはどこでも、タイトルと同じエラーを表示しています。

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に設定しましたが、まだ機能していません。

18
Shivam Panwar

Android.icu.util.calendarをインポートする代わりに、Java.util.Calendarをインポートしてください。

Android.icu.util.calendarは、ICU Java.util.Calendarの代替品ですが、API 24以降でのみ使用可能です。したがって、API 24以上のデバイスでのみ機能します。

参照:

56
Ye Lin Aung