2015-09-19 22 views
0

我正在開發一個具有登錄系統的Android應用程序,具體取決於該應用程序是否在登錄時啓動另一個活動。任何人都可以幫助我處理該代碼。提前Thanx。SharedPreferences用於檢查登錄值

回答

0

全成登錄後,保存在那裏你要檢查,如果用戶登錄SharedPreferences登錄的用戶數據SharedPreferences

//save login data 
SharedPreferences.Editor spe = mContext.getSharedPreferences("datas", 
       Context.MODE_PRIVATE).edit(); 
spe.putBoolean("isLoggedIn", true); 
spe.commit(); 

和加載數據。

//Load login data 
SharedPreferences sp = mContext.getSharedPreferences("datas", 
       Context.MODE_PRIVATE); 
     if (sp.getBoolean("isLoggedIn", false)==true) { 
//user is logged in 
     } else { 
//user is not logged in 
     } 
0

我做什麼,有時,我有我的默認MainActivity始終運行最初。

然後在的onCreate我有檢查,以決定要啓動的活動:

boolean isLoggedIn = checkUserStatus(); 
Intent intent = isLoggedIn ? new Intent(context, HomeActivity.class) 
          : new Intent(context, LoginActivity.class); 
startActivity(intent); 

checkUserStatus()是一個簡單的函數,它得到一個布爾標誌,以確定如果用戶登錄或不:

protected boolean checkUserStatus(){ 
    boolean isLoggedIn ; 
    Context context = getApplicationContext(); 
    SharedPreferences pref = context.getSharedPreferences("Session Data", MODE_PRIVATE); 
    isLoggedIn = pref.getBoolean("isLoggedIn", false); 
    return isLoggedIn ; 
} 

然後設置boolean爲true或false:

SharedPreferences pref = context.getSharedPreferences(
     "Session Data", MODE_PRIVATE); 
SharedPreferences.Editor edit = pref.edit(); 
edit.putBoolean("isLoggedIn", true);// or false if you log out 
edit.commit();