2011-08-24 47 views
0

嗨,我想在我的應用程序中維護一些會話。我可以使用共享首選項來維護它嗎?我不是那麼簡單的例子,以適當的方式建議我。可能在Android中使用共享首選項來維護會話

+0

http://stackoverflow.com/questions/4572338/extending-application-to-share-variables-globally – Samuel

+0

是的,這是一個很好的地方存儲數據。 –

回答

0

也許你應該利用服務器來維護會話。因爲正如你在這裏所建議的那樣,使用共享偏好,你可以選擇將內存中的偏好從內存中清除給用戶。因此,在這種情況下,如果用戶清除您的應用程序數據,那麼您的會話概念將失敗。

+0

如果用戶清除應用程序數據,他們可能會註銷。 –

+0

那麼簡單的方法是什麼? – kushal45

0

是的,您可以使用共享偏好設置。

例如,爲了保存用戶名,密碼和會話ID,您可以:

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE); 
SharedPreferences.Editor edit = pref.edit(); 
edit.putString("User Name", username); 
edit.putString("Password", password); 
edit.putInt("Session ID", session_id); 
edit.commit(); 

而且讓他們:

SharedPreferences pref = myContexy.getSharedPreferences("Session Data", MODE_PRIVATE); 
username = pref.getString("User Name", ""); 
password = pref.getString("Password", ""); 
session_id = pref.getInt("Session ID", 0); 

這只是一個例子,它是更好地使用字符串常數而不是「用戶名」等。

+0

在這種情況下session_id的值是多少? – kushal45

+0

這取決於你,我剛剛舉了一個如何使用共享偏好的例子,也許你根本不需要session_id ... – MByD

+0

其實我的知識會話ID的價值本身就是生成的。這是真的嗎? – kushal45