私はAndroid開発の初心者です。私はユーザーのログインデータを保存して、一時停止してからアプリを再開したり、アプリを再利用したりした後にログインする必要がないようにしたかったのです。 stackoverflowのいくつかのポストを通過した後、私はonSavedInstanceがそれを行う方法であることに気づいた。onViewStateRestoredクラッシュアンドロイドアプリ
1つのloginActivityでメソッドを実装しましたが、エミュレータでこのアクティビティを開くとエラーが発生します。仮想メソッド「ブールのandroid.osを起動しようとしています。 エラーが残念ながら、「PROJECT_NAME」は
だから、私は、ログファイルをチェックして、この
のjava.lang.NullPointerExceptionを持って停止しているです。ライン上のヌル・オブジェクト参照
にBundle.getBoolean(java.lang.Stringで)」
ブールinSession = savedInstanceState.getBoolean( "LOGGEDIN")。
のonViewStateRestoredメソッド。
誰かが私が間違っていることを知る手伝いをすることができますか?ログインの詳細を保存して、アプリが一時停止または停止モードになるたびにログインする必要はありません。
ご協力ありがとうございます。 :)
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
if(inSession){
savedInstanceState.putBoolean("loggedin",true);
savedInstanceState.putString("email",emailcol);
savedInstanceState.putString("password",passwordcol);
savedInstanceState.putString("type","login");
}
else{
savedInstanceState.putBoolean("loggedin",false);
}
}
@Override
public void onViewStateRestored(Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
boolean inSession = savedInstanceState.getBoolean("loggedin");
if (inSession) {
String email = savedInstanceState.getString("email");
String pass = savedInstanceState.getString("password");
String type = "login";
BackgroundWorker bw = new BackgroundWorker(this.getContext());
//(Name,password,email,contact,address,type
bw.execute(null, pass, email, null, null, type);
}
}
を保存するためにShared Preferencesを使用する必要があります。 –