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);
    }
运行效果图

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值