プロつく計画6:ランニング用走行距離計測アプリを作る
今日も今日とて、java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
問題です。
AndroidManifest.xml だけでなく styles.xml も噛んでいるみたいなので、そっちも見てみることに。
試しに、 styles.xml を以下のように編集してみる。
<!-- Theme.AppCompat を継承して、Theme.MyAppCompat を作成 --> <style name="Theme.MyAppCompat" parent="Theme.AppCompat"> <!-- 中略 --> </style>
で、これに合わせて、AndroidManifest.xml を編集。
<application <!-- 中略 --> <!-- android:theme に、 styles.xml で作成した theme を指定 --> android:theme="@style/Theme.MyAppCompat">
で、ビルドしてみます。
11:24:26.294 30345-30345/net.zeitungm.measureofroad E/AndroidRuntime: FATAL EXCEPTION: main Process: net.zeitungm.measureofroad, PID: 30345 java.lang.RuntimeException: Unable to start activity ComponentInfo{net.zeitungm.measureofroad/net.zeitungm.measureofroad.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.common.api.GoogleApiClient.connect()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2509) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2569) at android.app.ActivityThread.access$900(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1399) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:168) at android.app.ActivityThread.main(ActivityThread.java:5885) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.common.api.GoogleApiClient.connect()' on a null object reference at net.zeitungm.measureofroad.MainActivity.onStart(MainActivity.java:178) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1288) at android.app.Activity.performStart(Activity.java:6279) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2472) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2569) at android.app.ActivityThread.access$900(ActivityThread.java:150) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1399) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:168) at android.app.ActivityThread.main(ActivityThread.java:5885) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)
ぬるぽ 新しいエラー
Attempt to invoke virtual method 'void com.google.android.gms.common.api.GoogleApiClient.connect()' on a null object reference
が出ました。
ということは、これで You need to use a Theme.AppCompat theme (or descendant) with this activity.
は解決です!(多分)
というか、このくらい先週の時点で察するべきだったなぁ…