3分钟上手安卓开发SharedPreferences数据存储

Android 五种数据存储的方式

  1. SharedPreferences:以Map形式存放简单的配置参数;
  2. ContentProvider:将应用的私有数据提供给其他应用使用;
  3. 文件存储:以IO流形式存放,可分为手机内部和手机外部(sd卡等)存储,可存放较大数据;
  4. SQLite:轻量级、跨平台数据库,将所有数据都是存放在手机上的单一文件内,占用内存小;
  5. 网络存储 :数据存储在服务器上,通过连接网络获取数据;

SharedPreferences概述

SharedPreferences(简称SP)是Android中很常用的数据存储方式,SP采用key-value(键值对)形式,主要用于轻量级的数据存储,尤其适合保存应用的配置参数,但使用SP来存储大规模的数据可能会降低性能。
SP采用xml文件格式来保存数据,该文件所在目录位于/data/data/shared_prefs/。

SharedPreferences使用

写入数据

创建一个SharedPreferences对象

 SharedPreferences sharedPreferences= getSharedPreferences("data",Context.MODE_PRIVATE);

实例化SharedPreferences.Editor对象

 SharedPreferences.Editor editor = sharedPreferences.edit();

将获取过来的值放入文件

 editor.putString("name", “Tom”);
 editor.putInt("age", 28);
 editor.putBoolean("marrid",false);

提交

 editor.commit();

读取数据

 SharedPreferences sharedPreferences= getSharedPreferences("data", Context .MODE_PRIVATE);
 String userId=sharedPreferences.getString("name","");

删除指定数据

 editor.remove("name");
 editor.commit();

清空数据

 editor.clear();
 editor.commit();

实现示例

流程是输入账号密码后点击登录,将信息保存到SharedPreference文件中, 然后重启app,看到数据已经显示在文本框中了

    private void saveUserInfo() {
        SharedPreferences sp=getSharedPreferences("userInfo",MODE_PRIVATE);
        SharedPreferences.Editor editor=sp.edit();
        editor.putString("userName",et_name.getText().toString());
        editor.putString("userPwd",et_password.getText().toString());
        editor.apply();
        Toast.makeText(this,"信息保存成功!",Toast.LENGTH_LONG).show();

    }

    private void readUserinfo() {
    SharedPreferences sp=getSharedPreferences("userInfo",MODE_PRIVATE);
    String name=sp.getString("userName","请输入用户名!");
    String pwd=sp.getString("UserPwd","请输入密码!");
    et_name.setText(name);
    et_password.setText(pwd);
    }

运行效果图

发布了72 篇原创文章 · 获赞 81 · 访问量 7442

猜你喜欢

转载自blog.csdn.net/weixin_43332735/article/details/105071087