初心者です。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)
エラーログを追記してください。
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)
回答1件
あなたの回答
tips
プレビュー