配置信息的存储和读取-阿里云开发者社区

开发者社区> 数据库> 正文

配置信息的存储和读取

简介: 一般游戏涉及到的配置文件信息都以kv的形式存在且数量非常之少,这个时候搞一个sqlite的数据库显然有点奢侈,搞个配置文件合适一点,但是android的dev guide显然提供出来一套更合适的做法,SharedPreferences。 从存储的模式上来说 SharedPreferences实际上

一般游戏涉及到的配置文件信息都以kv的形式存在且数量非常之少,这个时候搞一个sqlite的数据库显然有点奢侈,搞个配置文件合适一点,但是android的dev guide显然提供出来一套更合适的做法,SharedPreferences。
从存储的模式上来说 SharedPreferences实际上是系统专门提供的kv存储模式,针对不同的application提供私有的存储,虽说私有但是还是可以通过Provider来向别的程序提供这类私有数据。。好吧,我们不需要关注这些。。
SharedPreferences提供保存任意类型的私有数据:boolean,float,int,long,当然还有string,即便你的app进程被kill掉,这些数据依然完好,这个正是我们需要的。
你可以通过getSharedPreferences()方法或者getPreferences()方法来获得这个对象,当然前者需要你提供针对的app名称作为第一参数。
实例化这个对象之后可以通过这个对象调用类似getBoolean()的方法来获得结果,而写的步骤会复杂一点点。
你需要通过这个对象的edit()方法获得一个SharedPreferences.Editor对象,再使用后者的putBoolean()类似的方法来写入,最后需要调用commit()方法来提交你的私有数据。具体的实例如下,摘自android-sdk/docs/guide/topics/data/data-storage.html
[cc lang=”java”]public class Calc extends Activity {
public static final String PREFS_NAME = “MyPrefsFile”;

@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .

// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean(“silentMode”, false);
setSilent(silent);
}

@Override
protected void onStop(){
super.onStop();

// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean(“silentMode”, mSilentMode);

// Commit the edits!
editor.commit();
}
}[/cc]


转载自:https://coolex.info/blog/242.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章