美文网首页
记住密码(SharedPrefecences应用)

记住密码(SharedPrefecences应用)

作者: 白帽子耗子 | 来源:发表于2017-03-07 11:45 被阅读9次

SharedPreferences

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


使用

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

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

三种方法获取SharePreferences对象
  • Context类中的getSharedPreferences("fileName",model)方法。
    参数前者是文件名,后者是操作模式。操作模式主要用其两种:
    MODE_PRIVATE只有当前程序可以进行读写。
    MODE_MULTI_PROCESS会有多个进程对同一个SharedPreferences文件进行读写。
  • Activity类中的getPreferences()方法
    默认将当前活动的类名作为文件名。
  • PreferenceManager类中的getDafaultSharePreferences(context)方法
    将程序的包名作为前缀命名文件。

记住密码实现

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

相关文章

  • 记住密码(SharedPrefecences应用)

    SharedPreferences 其本质是基于XML文件存储的键值对数据,通常用来存储比较简单的配置信息。一般存...

  • 账号管家

    最简洁易用的帐号密码管理应用。 您是否为帐号密码太多记不住而烦恼,那么下载本应用吧,您只需记住一个登录密码,就可以...

  • WinSCP + PuTTY 配置

    WinSCP 1、关联PuTTY 集成->应用程序 在外部程序处选择PuTTY路径 2、记住密码 集成->应用程序...

  • Git提交记住用户名和密码

    每次提交代码都要输入用户名密码,十分麻烦,教大家怎么让Git记住密码。 Https记住密码 永久记住密码 会在用户...

  • Git提交记住用户名和密码

    每次提交代码都要输入用户名密码,十分麻烦,教大家怎么让Git记住密码。 Https记住密码 永久记住密码 会在用户...

  • git如何记住账号密码

    HTTPS记住密码 永久记住密码git config --global credential.helper sto...

  • 修改git log 日期格式,记住密码

    记住密码

  • 六、记住密码

    源码下载 一、记住密码原理记住密码.png 二、代码配置 登录界面 BrowserSecurityConfig 三...

  • 记住密码

    android 不root, iOS 不越狱的情况下:android:KeyStoreiOS:KeyChain h...

  • 记住密码

    1.记住密码的状态 2.状态回显,第二次登录直接显示用户名和密码

网友评论

      本文标题:记住密码(SharedPrefecences应用)

      本文链接:https://www.haomeiwen.com/subject/zaopgttx.html