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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

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

Q&A

解決済

1回答

2527閲覧

WEBVIEWとプッシュ通知でクラッシュ

kackey621

総合スコア18

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android Studio

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

0グッド

0クリップ

投稿2016/09/10 07:26

編集2016/09/10 12:42

初心者です。Niftyのサンプルコードを利用してプッシュ通知とWEBVIEWを導入したいのですが、エミュレータで起動するとクラッシュします。どうすればいいですか?

XML

1<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 tools:context=".MainActivity"> 5 6<WebView 7 android:id="@+id/webView1" 8 android:layout_width="fill_parent" 9 android:layout_height="fill_parent" 10 ></WebView> 11 12</RelativeLayout> 13

JAVA

1public class MainActivity extends ActionBarActivity { 2 3@Override 4 setContentView(R.layout.activity_main); 5 WebView myWebView=(WebView)findViewById(R.id.webView1) ; 6 myWebView.setWebViewClient(new WebViewClient()); 7 myWebView.loadUrl("http://www.yahoo.co.jp"); 8 super.onCreate(savedInstanceState); 9//**************** APIキーの設定とSDKの初期化 ********************** 10NCMB.initialize(this, "MYID", "MYID"); 11 12final NCMBInstallation installation = NCMBInstallation.getCurrentInstallation(); 13 14//GCMからRegistrationIdを取得しinstallationに設定する 15installation.getRegistrationIdInBackground("MYID", new DoneCallback() { 16//installation.getRegistrationIdInBackground("senderId", new DoneCallback() { 17@Override 18public void done(NCMBException e) { 19if (e == null) { 20installation.saveInBackground(new DoneCallback() { 21@Override 22public void done(NCMBException e) { 23if (e == null) { 24//保存成功 25} else if (NCMBException.DUPLICATE_VALUE.equals(e.getCode())) { 26//保存失敗 : registrationID重複 27updateInstallation(installation); 28} else { 29//保存失敗 : その他 30} 31} 32}); 33} else { 34//ID取得失敗 35} 36} 37}); 38 39setContentView(R.layout.activity_main); 40} 41 42public static void updateInstallation(final NCMBInstallation installation) { 43 44//installationクラスを検索するクエリの作成 45NCMBQuery<NCMBInstallation> query = NCMBInstallation.getQuery(); 46 47//同じRegistration IDをdeviceTokenフィールドに持つ端末情報を検索する 48query.whereEqualTo("deviceToken", installation.getDeviceToken()); 49 50//データストアの検索を実行 51query.findInBackground(new FindCallback<NCMBInstallation>() { 52@Override 53public void done(List<NCMBInstallation> results, NCMBException e) { 54 55//検索された端末情報のobjectIdを設定 56installation.setObjectId(results.get(0).getObjectId()); 57 58//端末情報を更新する 59installation.saveInBackground(); 60} 61}); 62} 63 64@Override 65public boolean onCreateOptionsMenu(Menu menu) { 66// Inflate the menu; this adds items to the action bar if it is present. 67getMenuInflater().inflate(R.menu.menu_main, menu); 68return true; 69} 70 71@Override 72public boolean onOptionsItemSelected(MenuItem item) { 73// Handle action bar item clicks here. The action bar will 74// automatically handle clicks on the Home/Up button, so long 75// as you specify a parent activity in AndroidManifest.xml. 76int id = item.getItemId(); 77 78//noinspection SimplifiableIfStatement 79if (id == R.id.action_settings) { 80return true; 81} 82 83return super.onOptionsItemSelected(item); 84} 85}

エラーログです。

09-10 03:52:31.786 2773-2773/mbaas.com.nifty.ncmbpushquickstart E/AndroidRuntime: FATAL EXCEPTION: main Process: mbaas.com.nifty.ncmbpushquickstart, PID: 2773 java.lang.RuntimeException: Unable to start activity ComponentInfo{mbaas.com.nifty.ncmbpushquickstart/mbaas.com.nifty.ncmbpushquickstart.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.support.v7.app.AppCompatDelegateImplV7.applyFixedSizeWindow(AppCompatDelegateImplV7.java:476) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:286) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:252) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at mbaas.com.nifty.ncmbpushquickstart.MainActivity.onCreate(MainActivity.java:24) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

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

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

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

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

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

yona

2016/09/10 07:27

エラーログを追記してください。
kackey621

2016/09/10 07:30

09-10 02:44:34.467 2929-3261/mbaas.com.nifty.ncmbpushquickstart E/GMPM: getGoogleAppId failed with status: 10 09-10 02:44:34.468 2929-3261/mbaas.com.nifty.ncmbpushquickstart E/GMPM: Uploading is not possible. App measurement disabled 09-10 02:44:34.548 2929-2929/mbaas.com.nifty.ncmbpushquickstart E/AndroidRuntime: FATAL EXCEPTION: main Process: mbaas.com.nifty.ncmbpushquickstart, PID: 2929 java.lang.RuntimeException: Unable to start activity ComponentInfo{mbaas.com.nifty.ncmbpushquickstart/mbaas.com.nifty.ncmbpushquickstart.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.setWebViewClient(android.webkit.WebViewClient)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.webkit.WebView.setWebViewClient(android.webkit.WebViewClient)' on a null object reference at mbaas.com.nifty.ncmbpushquickstart.MainActivity.onCreate(MainActivity.java:25) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
guest

回答1

0

ベストアンサー

レイアウトファイルを設定するのが遅すぎるためだと思います。setContentViewをfindViewByIdよりも前に移動してください。

投稿2016/09/10 07:38

yona

総合スコア18155

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

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

kackey621

2016/09/10 07:53

変えましたが、だめです。
kackey621

2016/09/10 07:53

09-10 03:52:31.786 2773-2773/mbaas.com.nifty.ncmbpushquickstart E/AndroidRuntime: FATAL EXCEPTION: main Process: mbaas.com.nifty.ncmbpushquickstart, PID: 2773 java.lang.RuntimeException: Unable to start activity ComponentInfo{mbaas.com.nifty.ncmbpushquickstart/mbaas.com.nifty.ncmbpushquickstart.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.support.v7.app.AppCompatDelegateImplV7.applyFixedSizeWindow(AppCompatDelegateImplV7.java:476) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:286) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:252) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at mbaas.com.nifty.ncmbpushquickstart.MainActivity.onCreate(MainActivity.java:24) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616
yona

2016/09/10 08:04

super.onCreate(savedInstanceState);にブレークポイントを設置しデバッグ実行を行いF8でステップ実行をしてください。そのときに下記の点を確認してください。 ・setContentViewを通過できるか。 ・(WebView) findViewById(R.id.webView)通過後にmyWebViewがnullかどうか
kackey621

2016/09/10 08:08

setContentViewで通過しません。
kackey621

2016/09/10 08:09

09-10 03:52:31.786 2773-2773/mbaas.com.nifty.ncmbpushquickstart E/AndroidRuntime: FATAL EXCEPTION: main Process: mbaas.com.nifty.ncmbpushquickstart, PID: 2773 java.lang.RuntimeException: Unable to start activity ComponentInfo{mbaas.com.nifty.ncmbpushquickstart/mbaas.com.nifty.ncmbpushquickstart.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.ViewGroup.getPaddingLeft()' on a null object reference at android.support.v7.app.AppCompatDelegateImplV7.applyFixedSizeWindow(AppCompatDelegateImplV7.java:476) at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:286) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:252) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) at mbaas.com.nifty.ncmbpushquickstart.MainActivity.onCreate(MainActivity.java:24) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)  at android.app.ActivityThread.-wrap11(ActivityThread.java)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:148)  at android.app.ActivityThread.main(ActivityThread.java:5417)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616
yona

2016/09/10 08:19

では、レイアウトファイルに問題がありそうですね。 質問のレイアウトはRelativeLayoutの開始タグがありませんが、これは単純な記載ミスですか? エラーログは内容が変化したときだけ追記してください。
kackey621

2016/09/10 08:21

MainActivityにということですか?
kackey621

2016/09/10 08:23

activity_mainにはあります。
yona

2016/09/10 08:29

MainActivityのコードも変更していますよね?修正してください。
kackey621

2016/09/10 08:34

指示されたところは修正しました。具体的にどこを修正すればいいですか?
yona

2016/09/10 08:42

・setContentViewを冒頭に持ってくる ・WebViewのidはwebViewからwebView1に変更する
yona

2016/09/10 08:43

今のMainActivityのコードに質問を修正してください。
yona

2016/09/10 10:44

現状のコードは下記のようになっていますか?どう考えてもこれが原因だと思います。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
kackey621

2016/09/10 12:57 編集

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView myWebView=(WebView)findViewById(R.id.webView1) ; myWebView.setWebViewClient(new WebViewClient()); myWebView.loadUrl("http://www.yahoo.co.jp");
kackey621

2016/09/10 12:43

次のように直しましたが、変わらずエラーです。
yona

2016/09/10 12:50

私のコードと違うじゃないですか。
kackey621

2016/09/10 12:57

すみません。前のデータでした。
kackey621

2016/09/10 12:58

治りました。ご迷惑をおかけしました。ありがとうございました。
kackey621

2016/09/10 12:59

本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問