2012-03-19 88 views
7

我製作了一個工作正常的android應用程序。我在其中實現了登錄功能。任何人都可以指導我如何存儲用戶的登錄憑據,以便用戶每次啓動應用程序時都不必登錄,並在用戶註銷時清除存儲的登錄信息。如何在android中本地保存登錄信息

其實我想讓用戶不必每次輸入登錄信息時他/她啓動應用程序。我該如何做?

回答

28

商店價值使用sharepreference。我在這裏粘貼代碼..使用它。從分享偏好

SharedPreferences sp=getSharedPreferences("Login", MODE_PRIVATE); 
SharedPreferences.Editor Ed=sp.edit(); 
Ed.putString("Unm",Value);    
Ed.putString("Psw",Value); 
Ed.commit(); 

獲得價值:

創建共享偏好

SharedPreferences sp1=this.getSharedPreferences("Login", MODE_PRIVATE); 

String unm=sp1.getString("Unm", null);  
String pass = sp1.getString("Psw", null); 

當用戶註銷,那麼你可以設置空值到sharedpreference。

+0

後用於清除sharedpreference值也代碼。 – 2012-03-19 13:32:41

+0

其實我希望用戶不必每次輸入登錄信息時他/她啓動app.i使用代碼作爲你在這裏鍵入,但我沒有解決我的問題............ – nikki 2012-03-20 06:16:48

+0

好的,所以你可以在共​​享首選項中設置一個布爾值,如果islogin爲true,那麼它會移動下一個屏幕。 – Hasmukh 2012-03-20 06:19:37

0

在此表中創建具有憑證表的外部數據庫文件創建適當的列,如用戶名,密碼等。如果您有註冊用戶,則將這些用戶詳細信息存儲在憑證表中。最後將該數據庫複製到assests文件夾中,然後使用SqliteOpenHelper類將外部數據庫複製到手機內存。在這裏您需要維護具有條件的註冊頁面。如果用戶根據您的條件完成註冊過程,則將其詳細信息存儲在憑證表中。當用戶想要登錄該應用程序時,請檢查用戶名和憑證表中的密碼。

0

您可以使用下列方法中的每一個: - SharedPreferences - 數據庫 - 文件系統

當然,每一種方法都有它的優點和缺點。

1

我認爲最好的解決方案是Shared Preference。創建一個完整的數據庫並查詢它,僅用於一個條目是沒有用的。 和文件系統不提供結構化的解決方案。 (鍵值對)

對於UI,我認爲你應該有兩個片段 如果用戶登記顯示他的MainFragment ,如果不是LoginFragment

+0

不要忘記保護您在那裏保存的數據。 – MarkySmarky 2015-07-15 10:18:37

相關問題