一番上のエラーコードの写真が撮りきれなかったのでそれだけはこの下に書きました。
java
1java.lang.RuntimeException: Unable to start activity ComponentInfo{ncmbdataquick.mbaas.com.nifty.datastorequickstart/ncmbdataquick.mbaas.com.nifty.datastorequickstart.ActivitySecond}: java.lang.NullPointerException 210-31 13:42:59.892 23624-23624/ncmbdataquick.mbaas.com.nifty.datastorequickstart E/AndroidRuntime:
このようなエラーが出ます。どのように対処すれば良いでしょうか?
よろしくお願いします。
ActivitSecondの31行目はこの下のコードの2行目なのですが、何がいけないのでしょうか?
java
1Button sendButton = (Button) findViewById(R.id.NewUserSet); 2 sendButton.setOnClickListener(new View.OnClickListener() {
ActivitySecond.java
java
1package ncmbdataquick.mbaas.com.nifty.datastorequickstart; 2 3import android.app.Activity; 4import android.app.AlertDialog; 5import android.content.Intent; 6import android.os.Bundle; 7import android.support.design.widget.FloatingActionButton; 8import android.support.design.widget.Snackbar; 9import android.support.v7.app.AppCompatActivity; 10import android.support.v7.widget.Toolbar; 11import android.view.View; 12import android.widget.Button; 13 14import com.nifty.cloud.mb.core.DoneCallback; 15import com.nifty.cloud.mb.core.NCMB; 16import com.nifty.cloud.mb.core.NCMBException; 17import com.nifty.cloud.mb.core.NCMBObject; 18 19public class ActivitySecond extends Activity { 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_main); 24 25 26 //**************** APIキーの設定とSDKの初期化 ********************** 27 //NCMB.initialize(this, ""); 28 29 30 Button sendButton = (Button) findViewById(R.id.NewUserSet); 31 sendButton.setOnClickListener(new View.OnClickListener() { 32 33 //ここに新規登録へのボタンを押した時を作る 34 @Override 35 //登録ボタンを押したら、登録完了のポップを出しログインへボタンを押しログインページに戻るようにする。 36 //そのログインページはMainActivityだから、ActivityThirdはいらない。 37 public void onClick(View v) { 38 Intent intent = new Intent(getApplication(), MainActivity.class); 39 startActivity(intent); 40 } 41 }); 42 } 43 44 45 //このメソッドを呼び出せば、PasswordとUserIdがセットされるようにする。 46 47 public void NewUserSet(View view) { 48 49 //NewUserAddというデータベースのクラス 50 final NCMBObject obj = new NCMBObject("NewUserAdd"); 51 obj.put("Password", "Taichi1995"); 52 obj.put("UserId","14e0084"); 53 obj.saveInBackground(new DoneCallback() { 54 @Override 55 public void done(NCMBException e) { 56 if (e != null) { 57 //保存失敗 58 new AlertDialog.Builder(ActivitySecond.this) 59 .setTitle("Notification from Nifty") 60 .setMessage("Error:" + e.getMessage()) 61 .setPositiveButton("OK", null) 62 .show(); 63 64 } else { 65 //保存成功 66 new AlertDialog.Builder(ActivitySecond.this) 67 .setTitle("Notification from Nifty") 68 .setMessage("Save successfull! with ID:" + obj.getObjectId()) 69 .setPositiveButton("OK", null) 70 .show(); 71 72 } 73 } 74 }); 75 76 } 77 78 79} 80
MainActivity.java
java
1package ncmbdataquick.mbaas.com.nifty.datastorequickstart; 2 3import android.app.Activity; 4import android.app.AlertDialog; 5import android.content.Intent; 6import android.os.Bundle; 7import android.support.design.widget.FloatingActionButton; 8import android.support.design.widget.Snackbar; 9import android.support.v7.app.AppCompatActivity; 10import android.support.v7.widget.Toolbar; 11import android.view.View; 12import android.view.Menu; 13import android.view.MenuItem; 14import android.widget.Button; 15 16import com.nifty.cloud.mb.core.DoneCallback; 17import com.nifty.cloud.mb.core.FetchCallback; 18import com.nifty.cloud.mb.core.FindCallback; 19import com.nifty.cloud.mb.core.NCMB; 20import com.nifty.cloud.mb.core.NCMBException; 21import com.nifty.cloud.mb.core.NCMBObject; 22import com.nifty.cloud.mb.core.NCMBQuery; 23 24import java.util.List; 25 26public class MainActivity extends Activity { 27 28 @Override 29 protected void onCreate(Bundle savedInstanceState) { 30 super.onCreate(savedInstanceState); 31 setContentView(R.layout.activity_main); 32 33 34 //**************** APIキーの設定とSDKの初期化 ********************** 35 NCMB.initialize(this, ""); 36 37 38 Button sendButton = (Button) findViewById(R.id.NewUserAdd); 39 sendButton.setOnClickListener(new View.OnClickListener() { 40 41 //ここに新規登録へのボタンを押した時を作る 42 @Override 43 public void onClick(View v) { 44 Intent intent = new Intent(getApplication(), ActivitySecond.class); 45 startActivity(intent); 46 } 47 }); 48 } 49 50 @Override 51 public boolean onCreateOptionsMenu (Menu menu){ 52 // Inflate the menu; this adds items to the action bar if it is present. 53 getMenuInflater().inflate(R.menu.menu_main, menu); 54 return true; 55 } 56 57 @Override 58 public boolean onOptionsItemSelected (MenuItem item){ 59 // Handle action bar item clicks here. The action bar will 60 // automatically handle clicks on the Home/Up button, so long 61 // as you specify a parent activity in AndroidManifest.xml. 62 int id = item.getItemId(); 63 64 //noinspection SimplifiableIfStatement 65 if (id == R.id.action_settings) { 66 return true; 67 } 68 69 return super.onOptionsItemSelected(item); 70 } 71 72 public void doStartDemo(View view) { 73 final NCMBObject obj = new NCMBObject("TestClass"); 74 obj.put("message", "Hello, NCMB!"); 75 obj.saveInBackground(new DoneCallback() { 76 @Override 77 public void done(NCMBException e) { 78 if (e != null) { 79 //保存失敗 80 new AlertDialog.Builder(MainActivity.this) 81 .setTitle("Notification from Nifty") 82 .setMessage("Error:" + e.getMessage()) 83 .setPositiveButton("OK", null) 84 .show(); 85 86 } else { 87 //保存成功 88 new AlertDialog.Builder(MainActivity.this) 89 .setTitle("Notification from Nifty") 90 .setMessage("Save successfull! with ID:" + obj.getObjectId()) 91 .setPositiveButton("OK", null) 92 .show(); 93 94 } 95 } 96 }); 97 98 } 99 //get(検索) 100 public void doGetDemo(View view) { 101 //TestClassを検索するためのNCMBQueryインスタンスを作成 102 NCMBQuery<NCMBObject> query = new NCMBQuery<>("TestClass"); 103//keyというフィールドがvalueとなっているデータを検索する条件を設定 104 query.whereEqualTo("message", "Hello, NCMB!"); 105//データストアからデータを検索 106 query.findInBackground(new FindCallback<NCMBObject>() { 107 @Override 108 public void done(List<NCMBObject> results, NCMBException e) { 109 if (e != null) { 110 111 112 } else { 113 114 new AlertDialog.Builder(MainActivity.this) 115 .setTitle("Notification from Nifty") 116 .setMessage("Get successfull!"+results) 117 .setPositiveButton("OK", null) 118 .show(); 119 //検索成功時の処理 120 } 121 122 123 124 } 125 }); 126 } 127 128 129 130 131} 132
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。