2014-01-08 28 views
-3

我想將用戶憑證保存在我的Android應用程序中,直到應用程序被卸載。用戶在2個文本字段中輸入他/她的詳細信息。我如何存儲這些憑據?如何在Android上存儲用戶數據以防止重複登錄?

+3

使用['SharedPreferences'(http://developer.android。 COM /參考/機器人/內容/ SharedPreferences.html)。 – user370305

+0

但是如何?以及以何種方式使用它們? –

回答

0

試試這個..

使用下面教程

http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

shared-preferences

實例

SharedPreferences pref = getApplicationContext().getSharedPreferences("any_prefname", MODE_PRIVATE); 

可用模式共享偏好:

1)MODE_WORLD_READABLE 
2)MODE_WORLD_WRITEABLE 
3)MODE_PRIVATE 

節省數據到共享偏好使用編輯

 editor.putBoolean("key_name", true); // Storing boolean - true/false 
    editor.putString("key_name", "string value"); // Storing string 
    editor.putInt("key_name", "int value"); // Storing integer 
    editor.putFloat("key_name", "float value"); // Storing float 
    editor.putLong("key_name", "long value"); // Storing long 
    editor.commit(); 

呼叫editor.commit()爲了將更改保存爲共享偏好設置。

retrived保存喜好

  pref.getString("key_name", null); // getting String 
      pref.getInt("key_name", null); // getting Integer 
      pref.getFloat("key_name", null); // getting Float 
      pref.getLong("key_name", null); // getting Long 
      pref.getBoolean("key_name", null); // getting boolean 

Refrence從like

+0

thnx Tamilan..its爲我工作.. –

+0

@AmitChoudhary很高興它有幫助,如果我的ans真的幫助我們接受它。 – Hariharan

0

您可以使用SharedPreferences。將字符串值保存到sharedpref的函數如下:

public void saveString(Context c, String prefName, String key, String value){ 
    SharedPreferences settings = c.getSharedPreferences(prefName, 0); 
    SharedPreferences.Editor editor = settings.edit(); 
    editor.putString(key, value); 
    editor.commit(); 
} 

「context」=您的活動的上下文。 「prefName」是SharedPref文件夾的值,您可以爲其調用任何名稱。 「鍵」是它的具體值,您將用於在任何地方加載「字符串值」。

從sharedpref方法最後加載:

public String loadString(Context c, String prefName, String key){ 
    SharedPreferences settings = c.getSharedPreferences(prefName, 0); 
    return settings.getString(key, ""); 
} 
0

檢查這個代碼

class MyActivity extends Activity{ 
//check if we have sharedprefs. else create and store in Utils 

    if (MyUtils().getSharedPref() == null) { 
    SharedPreferences sp = getPreferences(MODE_PRIVATE); 
    MyUtils.getInstance().setSharedPref(sp); 
} 

loadLastKnowLoginInfo(){ 
String emailStr = MyUtils.getInstance().getLoginEmail(); 
String passStr = MyUtils.getInstance().getLoginPassword(); 

//If Previous credentials are empty.. get them from user and store in Sharedprefs. Else Login 
if(emailStr.equals(「」) || passStr.equals(「」)){ 
    //We do not have Login Credentials. 
    startLoginProcess(); 
} else { 
    login(emailStr, passStr); 
} 

} 

private void startLoginProcess(){ 

//Initialize UI for getting Login Credentials 

//Store these credentials in SharedPrefs 
MyUtils.getInstance().saveRegularLoginDetails(email, pass); 
    } 
} 


public class MyUtils { 

private static volatile MyUtils sharedInstance = null; 
    private static String KEY_LOGIN_EMAIL="loginEmail"; 
private static String KEY_LOGIN_PASS="loginPass"; 
public static MyUtils getInstance() { 
    if (sharedInstance == null) { 
     synchronized(MyUtils class) { 
      if (sharedInstance == null) 
       sharedInstance = new MyUtils(); 
     } 
    } 
    return sharedInstance; 
} 


public void setSharedPref(SharedPreferences sp) { 

    _sp = sp; 
} 

public SharedPreferences getSharedPref(){ 
    return _sp; 
} 



public String getLoginEmail() { 
    return _sp.getString(KEY_LOGIN_EMAIL, ""); 
} 

public String getLoginPassword() { 
    return _sp.getString(KEY_LOGIN_PASS, ""); 
} 



public void saveRegularLoginDetails (String email, String password) { 
    SharedPreferences.Editor editor = _sp.edit(); 
    editor.putString(KEY_LOGIN_EMAIL, email); 
    editor.putString(KEY_LOGIN_PASS, password); 

    editor.commit(); 
} 
} 
相關問題