Android入门--SharedPreferences使用总结

Sharedperferences数据存储是Android系统的一种数据存储方式,这里简单介绍下Android系统的数据存储方式,Android系统提供了4中数据存储方式:

  • Sharedperferences :该存储方式适用于简单的数据保存,如配置属性,保存用户名等具有配置性质的数据存储,保存的数据是xml格式文件,通过键值对来获取和存储数据,不适合数据量较大的保存方式;
  • 文件存储(File):文件存储方式是较常见的保存数据的方式,可以保存较大的数据,而且文件存储既能把数据保存在系统内存中,也能保存在SD卡中
  • 数据库存储(SQLite): Android系统提供的SQLite轻量级数据库,完全支持SQL语句,数据库存储也能保存较大数据,可以保存在系统内存或者SD卡中,数据库存储可以保存具有一定规范的数据,非常高效,但是相应的需要数据库操作规范,相对前两者较复杂
  • 网络存储(NetWork):通过网络将数据存储在服务器端,需要网络编程相关技能,一般适用于从服务器获取数据或者将本地用户信息上传到服务器端

接下来详细说明Sharedperferences的一些使用方法:
如前面介绍所说,Sharedperferences主要用于保存一些配置属性和保存用户名密码用于自动登录,其保存的数据是xml格式文件,文件路径为:/data/data/package name/shared_prefs

获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
需要注意的是,Sharedperferences中数据的获取一般是在Activity中的onCreate()方法中,因为一般是在程序初始化的时候调用配置信息或者用户名和密码。

SharedPreferences的四种操作模式:
Context.MODE_PRIVATE : 值为 0
Context.MODE_APPEND : 值为 32768
Context.MODE_WORLD_READABLE : 值为 1
Context.MODE_WORLD_WRITEABLE : 值为 2

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.

下面总结Sharedperferences的使用流程:

  1. 获取Sharedperferences对象,如上所述的两种方式获取Sharedperferences对象,根据具体的情况使用,这里假设使用第一中方式获取,使用getSharedPreferences(String name,int mode);第一个参数是要获取的文件名称(不带后缀),第二个参数是操作模式,可以写名称常量,也可以直接写常量对应的值。

  2. 读取数据。调用getString(String key,String defValue)等方法获取键值对的内容,第二个参数是在没有找到对应的第一个参数的值时返回的值,即缺省值。

  3. 保存数据:创建Editor类的对象用于获取SharedPreferences对象的edit()方法,然后调用putString(String key,String value)方法存放数据,最后要记得执行Editor类的对象的commit()方法提交对数据的修改,否则修改是无效的

以上,Sharedperferences的相关概念和使用方法都总结了,接下来是实例代码:

main.xml是布局文件,这里的布局是一个简单的登录界面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值