记住密码(SharedPrefecences应用)

2017-03-07  本文已影响9人  白帽子耗子

SharedPreferences

其本质是基于XML文件存储的键值对数据,通常用来存储比较简单的配置信息。一般存储String,int之类的简单的数据类型。一些自定义的数据类型要通过转码较为麻烦不建议使用。


使用

SharedPreference本身只是读取数据的作用,而对数据存储修改需要通过Editor对象进行操作。

数据一般存在/data/data/<pakagename>/shared_pref/目录下

三种方法获取SharePreferences对象

记住密码实现

1、简单地设计界面

不累述,详情看图,完成后初始化控件。

界面.png
2、SharedPreferences实现

在main.activity中添加如下代码:

        //初始化SharedPreferences
    pref = getSharedPreferences("userdatas",MODE_PRIVATE);
    editor = pref.edit();

    if(pref.getString("name","")!= null){//如果存储的数据中找到name的数据不为空
        nameInput.setText(pref.getString("name",""));
        passwordInput.setText(pref.getString("password",""));//有数据则填充
    }

    //按钮
    loginBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(rememberPassword.isChecked()) {//如果是记住密码
                String userName = nameInput.getText().toString();
                String userPassword = passwordInput.getText().toString();
                editor.putString("name", userName);
                editor.putString("password", userPassword);

                Toast.makeText(MainActivity.this, "已经存储了用户名密码", Toast.LENGTH_SHORT).show();
            }else{
                editor.clear();
                Toast.makeText(MainActivity.this, "将不会存储您的数据并清除了旧的账号数据", Toast.LENGTH_SHORT).show();
            }
            editor.commit();//修改完必须提交才能生效
        }
    });
3、结果展示
图片.png

上图是已经登陆存储了数据。可以用FileExplorer查看一下,在data/data/<包名>/shared_prefs/下,可见已经存储了数据文件。

图片.png

导出可以查看数据也一致,为xml格式。

图片.png
上一篇 下一篇

猜你喜欢

热点阅读