您的位置:首页 > 移动开发 > Android开发

Android存储数据的几种方式--Shared preference和files

2015-03-26 16:31 363 查看

Android保存数据的方式,有如下四种:

1、Shared Preferences:主要用于保存程序的系统配置信息。用来存储“key-values paires”。一般用于保存程序启动时设定的信息,以便在程序下一次启动时继续保留前一次设定的信息。

2、Files:用文件的形式保存信息。可以通过对文件的读写来获取或保存相关信息。

3、SQLite:用数据库的形式保存信息。SQLite是一个开源的数据库 系统。

4、NetWork:将数据保存于网络。

第一种:Shared Preference

关键代码:

/* ==================================
读取值
================================== */
// 取得活动的Preferences对象(当前activity this,一般是私有MODE_PRIVATE)
SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);

// 取得值,默认false
value = settings.getBoolean("key", false);

/* ==================================
保存值
================================== */
// 取得活动的Preferences对象
SharedPreferences uiState = getPreferences(Activity.MODE_PRIVATE);

// 取得编辑对象
SharedPreferences.Editor editor = uiState.edit();

// 添加值
editor.putBoolean("key", value);

// 提交保存(只有提交才能保存)
editor.commit();
生成的文件放在:/data/data/XXX/shared_prefs/...

从其保存数据的结构来分析,这是一个相对较轻量级的存储数据的方法。类似于我们常用的ini文件保存软件初始化设置,同样在Android平台常用 于存储较简单的参数设置。例如,可以通过它保存上一次用户所作的修改或者自定义参数设定,当再次启动程序后依然保持原有的设置。通过Context.getSharedPreferences()方法来读写数值,这个方法通过设置name来使得同一个程序内的其它模块共享数据。如果不需要与其它模块共享数据,可以使用Activity.getPreferences()方法保持数据私有。需要着重强调一点,无法直接在多个程序间共享Preferences数据(不包括使用Content
Providers)。

第二种:Files

/* ===================================
读取值
================================== */
// 构建Properties对象
Properties properties = new Properties();

// 打开输入文件
FileInputStream stream = this.openFileInput("inputfile");

// 读取文件内容
properties.load(stream);

/* ===================================
保存值
================================== */
// 构建Properties对象
Properties properties = new Properties();

// 将数据打包成Properties
properties.put("key", "value");

// 打开输出文件
FileOutputStream stream = this.openFileOutput("outputfile", mode);

// 将打包好的数据写入文件
properties.store(stream, "");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: