我使用sharedpreferences檢查應用程序是否第一次使用或不使用。如果該應用程序正在使用第一次註冊屏幕將顯示,然後MainActivity將顯示註冊是否成功完成或稍後使用。註冊屏幕首次顯示應用何時運行,但問題出現在註冊中。同時從MainActivity調用共享首選項以在其中插入值。而問題是RuntimeException的。這是我在做什麼針對...RuntimeException嘗試將使用Asynctask從服務器獲取的值存儲到sharedpreferences
這是我MainActivity.java
SharedPreferences sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
firtst_time_check();
setContentView(R.layout.available_items);.....}
這是first_time_check()
private boolean firtst_time_check(){
sp = PreferenceManager.getDefaultSharedPreferences(this);
String first = sp.getString("first", null);
if (first == null){
Intent i = new Intent(getBaseContext(), MainActivity.class);
startActivity(i);
}
return false;
}
這是代碼註冊畫面,例外情況投入此線MainActivity set = new MainActivity();
JSONArray a = o.optJSONArray("status");
JSONObject obj = a.optJSONObject(0);
String uid = obj.optString("RegistrationID");
MainActivity set = new MainActivity();
set.sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String value = set.sp.getString("RegistrationID", uid);
SharedPreferences.Editor editor = set.sp.edit();
editor.putString("first", value);
editor.commit();
t他是怎樣表示的logcat
lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
提供錯誤的堆棧跟蹤.. – ELITE
私人布爾firtst_time_check()這個公共靜態布爾firtst_time_check(上下文的背景下) – Madhur
什麼是異常堆棧跟蹤和消息?請用這個關鍵信息更新你的問題 – Lolo