質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

163閲覧

Arrayを作るとアプリが終了してしまいます

toera

総合スコア14

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

1クリップ

投稿2017/10/29 22:35

編集2017/10/29 23:45

androidstudioを使ってアプリを作ろうとしている初心者です。
コンパイルはできるのですが、実機でテストすると、
「問題が発生しました」とアプリが終了してしまいます。
実験してみると、①の文があるとエラーが出て、この文を消すとエラーが無くなりました。

public class MainActivity extends Activity { final String[] testArray = getResources().getStringArray(R.array.test_array);…① (以下略) } ```この文のどこに問題があるんでしょうか? --- 追記:エラーのログです。

10-30 08:31:37.375 15587-15587/com.example.(ユーザー名です).(プロジェクト名です) E/Trace: error opening trace file: No such file or directory (2)
10-30 08:31:37.436 15587-15587/com.example.(ユーザー名です).(プロジェクト名です) E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources
10-30 08:31:37.436 15587-15587/com.example.(ユーザー名です).(プロジェクト名です) E/dalvikvm: Could not find class 'android.util.ArrayMap', referenced from method com.android.tools.fd.runtime.MonkeyPatcher.pruneResourceCache
10-30 08:31:37.456 15587-15587/com.example.(ユーザー名です).(プロジェクト名です) E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.(ユーザー名です).(プロジェクト名です)/com.example.(ユーザー名です).(プロジェクト名です).MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2271)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2391)
at android.app.ActivityThread.access$600(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1335)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5511)
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:1029)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.content.ContextWrapper.getResources(ContextWrapper.java:81)
at com.example.(ユーザー名です).(プロジェクト名です).MainActivity.<init>(MainActivity.java:14)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1069)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2262)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2391) 
at android.app.ActivityThread.access$600(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1335) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:155) 
at android.app.ActivityThread.main(ActivityThread.java:5511) 
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:1029) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796) 
at dalvik.system.NativeStart.main(Native Method) 

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2017/10/29 22:58

エラーログを質問に追記してください。
YasuhiroMiyake

2017/10/29 23:49

実行時に例外が発生していて、誰もキャッチしていないからアプリが終了しているのは理解していますでしょうか。yonaさんも記載されていますがAndroid Monitor のlogcat に赤文字で出力されているエラーログを書いてもらえると理由が分かるので話が早いと思います。test_arrayの値もどのような値を用意しているのか書いてもらえるとさらに分かりやすいです。
guest

回答1

0

ベストアンサー

getResourcesはActivityインスタンスが一定のライフサイクルを経た後にだけ使用可能です。そのため、フィールド変数の初期化時には使用できません。

投稿2017/10/30 00:01

編集2017/10/30 00:02
yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toera

2017/10/30 01:06

なるほど、getResourcesが原因なんですね。 onCreate()内に問題のあった文を移動させたら、無事動きました。 助かりました、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問