2011-07-28 56 views
4

我正在開發一個應用程序,並希望用戶必須輸入密碼才能進入應用程序主屏幕。我需要知道如何在第一次設置密碼時將密碼保存爲xml或db,以及如何在登錄時驗證密碼是否正確。任何幫助,我可以得到將不勝感激。謝謝。如何創建登錄屏幕

回答

1

你可以做到這一點與存儲在Android的檢索與SQLite數據庫的數據,我建議你閱讀本教程:NotePad Tutorial With Database,這是一個很好的教程。

+0

好吧,我會檢查這些鏈接和accountmanager。感謝你的幫助! – Jonathan

3

與任何這些解決方案的問題是,如果用戶忘記了他/她的密碼,您可以卸載並重新安裝,但你將丟失任何數據,其存儲在應用程序文件夾中的應用程序會發生什麼。爲了避免這種情況,你應該使用AccountManager

在同步示例中有一個AcconutManger示例,雖然您需要驗證憑據的方法。被警告這不是一個簡單的例子。

如果你感到高興的是信息的損失是沒有問題的,那麼你可以只將其保存到SharedPreferences其他用戶的建議。

您還應該看看android sdk文件夾中提供的所有示例。

1

使用SharedPreferences概念來存儲密碼,並在啓動應用程序進行檢查。

首先保存設置的詳細信息。

public void setSharedPreferences() 
{ 
    try { 
     SharedPreferences sharedPreferences=getApplicationContext().getSharedPreferences("UserData", Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor=sharedPreferences.edit(); 

     editor.putString("FirstName", StringUtils.capitalize(stringFirstName).trim()); 
     editor.putString("LastName", StringUtils.capitalize(stringLastName).trim()); 
     editor.putString("Email", stringEmail.toLowerCase().trim()); 
     editor.putString("Password", stringPassword.trim()); 

     editor.commit(); 
    } 
    catch (Exception e) 
    { 

    } 
} 

檢查應用程序啓動。

public boolean validateLogin(String email,String password) 
{ 
    try { 
     SharedPreferences sharedPreferences=getApplicationContext().getSharedPreferences("UserData",Context.MODE_PRIVATE); 
     if(email.toLowerCase().trim().equals(sharedPreferences.getString("Email",null)) && password.trim().equals(sharedPreferences.getString("Password",null))) 
     { 
      return true; 
     } 
     else { 
      return false; 
     } 
    } 
    catch (Exception e) 
    { 
     return false; 
    } 
}