配置信息的存储和读取

一般游戏涉及到的配置文件信息都以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

时间: 2024-11-01 17:20:42

配置信息的存储和读取的相关文章

destoon与ucenter相关的配置信息的存储位置

destoon与ucenter的配置信息存储位置并没有在文件中存储而是存储到了数据库中也就是destoon_setting这个表中

winform-窗体之间配置信息如何共享

问题描述 窗体之间配置信息如何共享 一个打印标贴的程序,有一个配置信息的窗体,一个主窗体,在配置窗体设置的信息,在主窗体需要使用,想请教一下,这些配置信息主窗体怎么获取比较合理高效,暂时想到的是主窗体读取配置窗体存储数据的App.config, 或者把配置信息按存储到数据库,在下初学,请各位前辈帮忙解惑 先谢谢了 解决方案 看我写的完整的例子:http://bbs.csdn.net/topics/360140208 解决方案二: 就你的情况,用一个静态类保存设置就可以. 新建一个C#源代码文件,

ASP.NET Core的配置(1):读取配置信息

提到"配置"二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中.到了.NET Core的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式.总的来说,新的配置系统显得更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中. 由

ASP.NET Core配置教程之读取配置信息_实用技巧

提到"配置"二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中.到了.NET Core的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式.总的来说,新的配置系统显得更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中. 由

使用Unity(二):配置Unity 、读取配置信息和获取对象

和 Enterprise Library 的其他应用程序块一样,Unity 的行为也可以通过配置来指定. Unity 应用程序块可以从 XML 配置文件中读取配置信息.配置文件可以是 Windows Forms 应用程序的 App.config 或者 ASP.NET 应用程序的 Web.config.当然,也可以从任何其他 XML 格式的文件或者其他数据源中加载配置信息. 在本文中,将和大家一起来学习 Unity 配置文件的格式.配置的读取.通过示例说明实例的获取. 1. Unity 配置文件的

ldap-Liferay数据库存储Ldap配置信息是在哪个表里面?

问题描述 Liferay数据库存储Ldap配置信息是在哪个表里面? Liferay数据库存储Ldap配置信息是在哪个表里面?数据库找了几遍也找不到这些信息,求大神指点迷津

c# NameValueCollection类读取配置信息_实用技巧

我首先介绍配置文件中的写法: 1.在VS2005中的工程下建立一个config文件,名称为App.config,并如下编辑: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="StartParameters" type="System.Configu

Java中框架的概念,以及从配置文件中读取配置信息并加载指定类

  学了反射后,也不知道反射是干什么的,那学了就没什么用了. 反射在框架中有很重要的作用,什么是框架呢? 大家在做JavaWeb开发的时候 用过JDBC吧,首先上来的时候 我们需要加载JDBC的驱动. Class.forName(...)  //每个不同的驱动对应不同的类名字 对于开发人员来说不同的人选择的驱动程序 不一样 .那么我们就需要不同的驱动类 . 我们是在JSP标签中进行了 这个类的调用,那么相对来说  JSP就是一个框架,而我们加载的这个类就是一个工具. 框架与工具的关系 就是 我们

轻松加密ASP.NET 2.0 Web程序配置信息

asp.net|web|程序|加密 一. 简介 当创建ASP.NET 2.0应用程序时,开发者通常都把敏感的配置信息存储在Web.config文件中.最典型的示例就是数据库连接字符串,但是包括在Web.config文件中的其它敏感信息还包括SMTP服务器连接信息和用户凭证数据,等等.尽管默认情况下可以配置ASP.NET以拒绝所有对扩展名为.config的文件资源的HTTP请求:但是,如果一个黑客能够存取你的web服务器的文件系统的话,那么,Web.config中的敏感信息仍然能够被窃取.例如,也