首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 應用保持登錄狀態:使用 SharedPreferences 存儲憑證並在啟動頁自動登錄

     編輯:程式設計綜合問答

核心思路

  1. 登錄成功時:將用戶標識 (如 userId、token、用戶名) 存入 SharedPreferences。
SharedPreferences sp = getSharedPreferences("app_prefs", MODE_PRIVATE);
sp.edit().putString("token", token).putBoolean("is_logged_in", true).apply();
  1. 啟動頁:在 SplashActivity 或 MainActivity 的 onCreate 中讀取標識,若存在且有效,直接跳轉主界面或發起自動登錄請求。
SharedPreferences sp = getSharedPreferences("app_prefs", MODE_PRIVATE);
boolean loggedIn = sp.getBoolean("is_logged_in", false);
String token = sp.getString("token", null);
if (loggedIn && token != null) {
    // 自動登錄或直接進入主頁
    startActivity(new Intent(this, MainActivity.class));
} else {
    startActivity(new Intent(this, LoginActivity.class));
}
finish();

安全建議

  • 敏感信息 (密碼) **切勿** 明文存儲,僅存 Token/Session ID。
  • Token 應有過期時間,啟動時校驗有效性,失效則清除並導向登錄頁。
  • 考慮使用 EncryptedSharedPreferences (AndroidX Security) 加密存儲。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved