2012-09-26 117 views
0

如果用戶登錄到App,然後切換到其他應用,而無需註銷,我們如何管理記得憑證所以一旦用戶返回到以前的應用程序,他不需要再輸入證件信息(用戶/密碼) - (請提供理論也回答)安全移動應用

+0

從你得到答案的想法或不? –

+0

是的,它會有幫助。 – user1159318

回答

1

定義一些靜態存儲偏好文件名和密鑰,你要使用:

public static final String PREFS_NAME = "MyPrefsFile"; 
private static final String PREF_USERNAME = "username"; 
private static final String PREF_PASSWORD = "password"; 

你會然後保存用戶名和密碼如下:

getSharedPreferences(PREFS_NAME,MODE_PRIVATE) 
    .edit() 
    .putString(PREF_USERNAME, username) 
    .putString(PREF_PASSWORD, password) 
    .commit(); 

所以,你會找回它們是這樣的:

SharedPreferences pref = getSharedPreferences(PREFS_NAME,MODE_PRIVATE); 
String username = pref.getString(PREF_USERNAME, null); 
String password = pref.getString(PREF_PASSWORD, null); 

if (username == null || password == null) { 
//Prompt for username and password 
} 


Alternatively, if you don't want to name a preferences file you can just use the default: 


SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this); 
+0

感謝hardik的回覆,你能提供一些與此相關的鏈接。 – user1159318

+0

http://stackoverflow.com/questions/6386311/how-to-use-remember-me-function-in-my-android-login-application,http://stackoverflow.com/questions/4871616/androidproblem-in - 記住,我的功能 - 的登錄活動 –

+0

此密碼存儲是真的不好,請存儲這些數據之前,至少使用一個password'hash(與MD5爲例)。 – grattmandu03

1

可以使用applicationPreference用於存儲用戶名和密碼。谷歌爲它,你可以很容易地得到它的代碼。但出於安全原因,請始終嘗試以加密形式保存此類信息。從applicationPrefernces中檢索信息時,您必須對其進行解密。這裏是鏈接http://www.androidsnippets.com/encryptdecrypt-strings