WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之数据存储 阅读

Android SDK 开发之数据存储

 2010-03-23 03:52:00 来源:WEB开发网   
核心提示:数据存储一个典型的桌面操作系统提供了一个通用文件系统, 应用程序可以使用它来储存文件, 这些文件可以被其它应用程序来读取(文件系统可能会有一些访问控制方面的设置). android使用一个不同的系统: 在android上, 所有的应用程序数据(包括文件)是应用程序私有的.此外, android也提供了一个让应用程序将其

数据存储

一个典型的桌面操作系统提供了一个通用文件系统, 应用程序可以使用它来储存文件, 这些文件可以被其它应用程序来读取(文件系统可能会有一些访问控制方面的设置). android使用一个不同的系统: 在android上, 所有的应用程序数据(包括文件)是应用程序私有的.

此外, android也提供了一个让应用程序将其数据提供给其它应用程序使用的标准方案 -- 通过content provider. content provider是应用程序的一个可选组件, 它将属于应用程序的数据暴露出来, 使其在一定的限制下可被其它程序存取. content provider实现了一套请求和修改数据的标准语法, 和一个标准的读取返回数据的机制. android为一些标准数据类型,例如图像,声音,视频文件和联系人信息等提供了一些预置content provider. 详见Content Providers的单独文档.

无论你是否希望将你的应用程序的数据暴露给其他人, 你都需要一种储存它的方法. android提供了以下四种存取数据的机制: 程序选项, 文件, 数据库和网络.

Preferences 程序选项

程序选项是一个轻量级的存取基本数据类型的键-值对的机制. 它一般用于储存程序的选项, 例如一个默认的欢迎消息, 或者程序默认字体等等. 使用Context.getSharedPreferences()来读写选项值. 如果你希望将选项参数和同程序内的其它组件共享, 那么为你的选项组取一个名字, 或者使用 Activity.getPreferences(), 这样选项是发起调用的activity私有的. 你不能将程序选项跨应用程序访问(除非使用一个content provider).

这里是一个为计算器设置无声按键模式的例子:

import android.app.Activity;

import android.content.SharedPreferences;

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(){

1 2  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接