Android学习09-----Android中数据的存储和访问 (1) By SharedPreferences
对于数据的存储操作而言, Android 中一共提供了五种方式: SharedPerferences 方式、文件存储方式、 SQLite 数据库存储、 ContentProvider 方式、网络存储;
SharedPerferences 提供了一些基础的信息保存功能,所有的信息都是按照“ key=value ”的形式进行保存的,但是 android.content.SharedPerferences 接口所保存的信息只能是一些基本的数据类型,例如:字符串、整型、布尔型等。
SharedPerferences 存储方式可以和 Java 中的 Properties 类进行比较,此类是属性的操作类,而且在属性文件之中只能保存基本的数据类型,而且属性文件更多的情况下是作为配置文件出现的,像 Struts 中的 ApplicationResource.properties 文件就是一个资源文件。
如果现在要想进行数据的写入,则必须首先通过 SharedPerferences 类所提供的 edit() 方法才可以让其处于可编辑的操作状态,此方法返回的对象类型是 android.content.SharedPreference.Editor 接口实例。
由于 SharedPerferences 和 SharedPerferences.Edit 两个都是接口,所以要想取得 SharedPerferences 接口的实例化对象,还需要 Activity 类中的几个常量和方法的支持。
No. |
常量及方法 |
类型 |
描述 |
1 |
Public static final int MODE_PRIVATE |
常量 |
创建的文件只能被一个应用程序调用,或者被具有相同 id 的应用程序访问 |
2 |
Public static final int MODE_WORLD_READABLE |
常量 |
允许其他应用程序读取文件 |
3 |
Public static final int MODE_WORLD_WRITEABLE |
常量 |
允许其他应用程序修改文件 |
4 |
Public SharedPerferences getSharedPerferences(String name,int mode) |
普通 |
指定保存操作的文件名称,同时指定操作的模式,可以是 0 , MODE_PRIVATE , MODE_WORLD_READABLE , MODE_WORLD_WRITEABLE |
范例:
SharedPreferencesActivity.java
package com.iflytek.demo; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.widget.TextView; public class SharedPreferencesActivity extends Activity { private static final String FILENAME = "iflytek"; // 保存的文件名称 private TextView authorinfo = null; private TextView ageinfo = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); save(); get(); } private void save() { SharedPreferences share = super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE); SharedPreferences.Editor edit = share.edit(); edit.putString("author", "xdwang"); edit.putInt("age", 23); edit.commit();// 提交更新 } private void get() { this.authorinfo = (TextView) super.findViewById(R.id.authorinfo); this.ageinfo = (TextView) super.findViewById(R.id.ageinfo); SharedPreferences share = super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE); this.authorinfo.setText("作者:" + share.getString("author", "没有作者信息。")); this.ageinfo.setText("年龄:" + share.getInt("age", 0)); } }
1 、默认情况下,所有的配置文件都自动的保存在了一个系统文件夹之中。可以发现文件的后缀名为 *.xml;
2 、在实际的情况下,资源文件可以用来保存配置信息,例如,你正在看小说,希望关闭之后下次可以继续打开之前所关闭的进度点,那么在这种情况下,就可以利用此方式进行保存。
上一篇: Android SharedPreferences使用
下一篇: 心血管病老人夏季适宜昏练