繁体   English   中英

使用Android SharedPreferences或内部存储在本地存储EditText字段的值

[英]Using Android SharedPreferences or Internal Storage to store values of EditText fields locally

我目前正在大学里做一个项目,我们正在为学生创建和应用程序。

该应用程序的一部分正在简化对学生电子邮件的访问,因为我们当前的大学网站遍布各处。

基本上,我想做的是存储用户输入到我拥有的EditText中的电子邮件和密码。

仅当用户选择存储数据的选项时,才应存储数据。

同样,如果用户已经存储了数据,则应跳过具有登录名的页面,然后直接进入Webview。

是否有人对此有任何示例或提示?

我研究了几种不同的方法,但没有一种解释看起来很简单,许多教程使用的是我不知道如何转换的值。

*请注意,由于我今年才参加Android开发,所以我相对较新!

谢谢!

TJ

您可以将其保存到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;
}

如果提供您的代码,很容易为您提供更好的帮助! 希望能有所帮助。

最好在设备上使用SQLite数据库。 这样,如果应用程序需要扩展,可以通过相应地添加表或列来轻松扩展它。 然后,它也可以用于存储多个帐户,以便您可以在设备本身的登录名上进行验证。

请看以下示例,以帮助使用SQLite数据库:

示例1与Vogella

例2与Android Hive

如果您先看一下Android Hive,就可以很好地解释它的工作原理,就像Vogella确切地向您展示了如何在代码中实现它一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM