Android 资料存储 - Part1 - SharedPreferences

ref:  Android 应用程式开发实战

ref: http://developer.android.com/guide/topics/data/data-storage.html

ref: http://stackoverflow.com/questions/6146106/where-are-shared-preferences-stored


当计算机在运算时,一般是将运算会用到的资料放至 RAM 中,减少 IO(Input/ Output) 所需要的时间,但是当计算机需要关机时,便需要将运算结果,存到非挥发性内存(如 ROM 之类)储存运算结果,确保数据不会在系统断电以後消失。


一般计算机系统大都提供共享档案机制,使程序间可以储存和存取档案,达到数据共享,而 Android系统所采的方法是所有应用的数据和档案预设为非共享,除非透过一些操作(如 Content Provider 、隐通道(?!) 等)才能达到应用间数据共享。


Android系统有五种数据储存的方法:

  • Shared Preferences
  • Internal Storage
  • External Storage
  • SQLite Databases
  • Network Connection

一般我们使用 Shared Preferences 储存简单、轻量级的数据,比如说 booleans, floats, ints, longs, 和 String 类型的数据 。首先用 getSharedPreferences() 获取  SharedPreferences 对象 sp,然後再调用 sp.edit() 对数据作编辑,最後再用 sp.commit() 作提交,将数据写入到系统中,比如说写入 float 类型的数据便如下:

        SharedPreferences sp = mContext.getSharedPreferences(MainActivity.PREF_FOR_CURRENT_BUDGET,
                Context.MODE_PRIVATE);
        sp.edit().putFloat(MainActivity.PREF_FOR_CURRENT_BUDGET, value).commit();

而从 SharedPreferences 取得数据的方法为:

        SharedPreferences sp = getSharedPreferences(PREF_FOR_CURRENT_BUDGET, MODE_PRIVATE);
        mTotalBudget = sp.getFloat(PREF_FOR_CURRENT_BUDGET, 0);

具体API方法说明,请查找官网API说明~

至於每个 APP 的 SharedPreferences 具体储存的位置,是在

/data/data/应用包名/shared_prefs/PREFS_NAME.xml

/data/data/应用包名/shared_prefs/应用包名_preferences.xml


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值