後的應用程序重新運行我用sharedPreference保存我的對象空值,它工作正常,但問題是,當應用程序被墜毀嘗試運行前一個活動中,我稱之爲共享這個getQbUser()方法首選項無法找到任何開始在循環中崩潰的對象,直到我關閉應用程序並重新運行我的應用程序並且它工作正常。共享首選項具有該對象。共享偏好表明當碰撞
public void saveQbuser(QBUser user){
SharedPreferences.Editor prefsEditor = mPref.edit();
Gson gson = new Gson();
String json = gson.toJson(user);
prefsEditor.putString("qbuser", json);
prefsEditor.commit();
}
public QBUser getQbUser(){
Gson gson = new Gson();
String json = mPref.getString("qbuser","");
QBUser obj = gson.fromJson(json, QBUser.class);
return obj;
}
//日誌
Caused by java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference
com.attribes.push2beat.Utils.DevicePreferences.getQbUser (DevicePreferences.java:86)
com.attribes.push2beat.mainnavigation.SelectActivity.createChatService (SelectActivity.java:38)
com.attribes.push2beat.mainnavigation.SelectActivity.onCreate (SelectActivity.java:27)
android.app.Activity.performCreate (Activity.java:6251)
android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107)
android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369)
android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476)
android.app.ActivityThread.-wrap11 (ActivityThread.java)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1344)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:148)
android.app.ActivityThread.main (ActivityThread.java:5417)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:726)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)
**注:這個問題只發生時,應用程序是死機狀態,並嘗試通過自身運行之前的活動,否則就沒有問題,我的愛好級別* *
你在哪裏初始化 「mPref」 對象????請發佈完整的代碼.. –
你是否初始化了你的'SharedPreferences mPref;'? – W4R10CK
您的sharedPref變量,如果您已經初始化,在應用程序崩潰後將爲空 –