Android Developers:保存键-值对

如果你有一个相对小的键值对集合需要保存,你应该使用SharedPreferences APIs。一个SharedPreferences对象指向一个包含键值对的文件,并提供简单的方法来读和写它们。每个SharedPreferences文件通过框架被管理,并可以私有化或者被共享. 

 

这节课程向你展示了如何使用SharedPreferences API保存和获取简单的值. 

 

注意:SharedPreferences APIs仅仅用于读取和写入键-值对,并且你不应该把它和Preference API混淆,它帮助你为你的应用程序构建一个用户设置界面(尽管它们使用SharedPreferences实现应用程序设置的保存).更多关于使用Preference APIs的实现,请查阅Setting指南. 

 

获取一个SharedPreferences句柄 

————————————————————————————————————————————— 

通过调用下面两个方法之一,你能创建一个新的共享参数文件,或这访问一个已经存在的 

  • getSharedPreferences() - 如果你需要多个过名字标识的共享参数文件,使用这个方法,你使用第一个参数指定名字。你能在你应用中的任何Context调用它. 

  • getPreference() - 如果你仅仅需要这个Activity的一个共享参数文件,在这个Activity中使用这个方法。因为它返回一个默认的共享参数文件,它属于这个Activity,你不需要提供一个名字 
     

例如,下面的代码是在一个Fragment中被执行。它访问了通过字符串资源R.string.preference_file_key识别的共享参数文件,并且使用私有模式打开它,所以文件仅仅允许你的应用程序访问. 

Context context = getActivity(); 
SharedPreferences sharedPref = context.getSharedPreferences( 
        getString(R.string.preference_file_key), Context.MODE_PRIVATE); 

当命名你的共享参数文件的时候,你应该使用一个在你的应用中唯一标识,如”com.example.myapp.PREFERENCE_FILE_KEY”. 
 

另外,如果你仅仅需要你的Activity的一个共享参数文件,你能使用getPreferences()方法: 

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
写入Shared Preferences  

—————————————————————————————————————————————— 

为了写一个共享参数文件,通过调用一个SharedPreferences的edit()创建一个SharedPreferences.Editor. 

 

使用入putInt()和putString()方法传递你想写入的键和值.然后调用commit()方法保存改变.例如: 

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt(getString(R.string.saved_high_score), newHighScore); 
editor.commit(); 
读取Shared Preferences  

—————————————————————————————————————————————— 

为了从一个shared preferences文件中获取一个值,调用如getInt()方法和getString()方法,提供你想要的键的值,并且如果键不存在,选择返回一个默认的值。例如: 

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); 
int defaultValue = getResources().getInteger(R.string.saved_high_score_default); 
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), defaultValue); 

新技术,新未来!欢迎大家关注 “1024工场”微信服务号 ,时刻关注我们的最新的技术讯息! (甭客气!尽情的扫描或者长按!)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值