2014-02-11 49 views
1

我目前正在大學做一個項目,我們正在爲學生創建和應用。使用Android SharedPreferences或Internal Storage在本地存儲EditText字段的值

該應用程序的一部分是緩解訪問學生電子郵件,因爲我們目前的大學網站有點到處都是。

基本上我想要做的是存儲用戶的電子郵件和密碼,他們進入我有EditTexts。

只有當用戶選擇存儲數據的選項時才應該存儲數據。

此外,如果用戶已經存儲了數據,它將跳過帶有登錄的頁面並直接進入Web視圖。

有沒有人有任何例子或任何提示如何做到這一點?

我看了幾個不同的方式來做到這一點,但沒有一個解釋看起來很直截了當,很多教程都使用了我不知道如何轉換的值。

*請注意,我對Android開發相對比較陌生,因爲今年我只接受它!

謝謝!

T.J.

回答

1

您可以將其保存到sharedPreferences中。你可以這樣做:

/** Constant to identify your sharedPref */ 
public static final String MY_SHARED_PREFERENCES = "mySharedPrefInstance"; 
public static final String USER_TAG     = "sharedPrefsUserTag"; 

// Get shared preferences 
SharedPreferences sharedPref = getSharedPreferences(MY_SHARED_PREFERENCES, MODE_PRIVATE); 

// Check if sharedPreferences already contain this user 
if (sharedPref.getString(USER_TAG) == textView.gettext()) { 
    // The user is already saved 
} else { 
    // Save a string obj 
sharedPref.edit().putString(USER_TAG, editTextUser.getText()); 
// Save password too 
sharedPref.edit().putString(PWD_TAG, editTextPwd.getText()); 

// Maybe, you would to encrypt the pwd (I recommend this) 
// So, for example: 
sharedPref.edit().putString(PWD_TAG, MD5(editTextPwd.getText())); 

// Commit changes 
sharedPref.commit(); 

} 

/** Encrypt params string with MD5 algorithm */ 
public static String MD5(String md5) { 
    try { 
     java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5"); 
     byte[] array = md.digest(md5.getBytes()); 
     StringBuffer sb = new StringBuffer(); 
     for (int i = 0; i < array.length; ++i) { 
      sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1,3)); 
     } 
     return sb.toString(); 
    } catch (java.security.NoSuchAlgorithmException e) { } 
    return null; 
} 

如果你提供你的代碼,它很容易幫助你更好! 希望得到這個幫助。

0

最好在設備上使用SQLite數據庫。通過這種方式,如果應用程序擴展其需求,可以通過相應地添加表或列來輕鬆擴展。它也可以用於存儲多個帳戶,以便您可以對設備本身的登錄進行驗證。

看看這些例子中尋求幫助,使用SQLite數據庫:

Example 1 with Vogella

Example 2 with Android Hive

如果你看一看的Android蜂巢首先,它提供了很好的解釋如何它的工作原理就像Vogella向你展示瞭如何將它實現到你的代碼中一樣。

相關問題