大家在开发Android操作系统的时候,可能会经常碰到关于数据存储方面的一些操作 。在这里我们会为大家详细介绍一下有关Android数据存储的一些基本概念以及应用技巧 。在Android 系统中,所有应用程序数据都是私有的,任何其他应用程序都是无法访问的 。
- Android电话功能各部分深入探讨
- Android分享功能源码解读
- Android核心模块内容概述
- Android浏览器优异点评比
- Android数字证书具体应用机制
1. 如何使得应用程序的数据可以被外部访问呢?
答案是使用android 的content provider 接口,content provider 可以使应用程序的私有数据暴露给其它application.
有两种选择来暴露application data,一种是建立自己的content provider,另外一种是使用已有的content provider前提是数据类型一致 。
2. Android数据存储的数据类型
Android 提供了一系列的 content type. 包括image, audio, and video files and personal contact information 等等.
3. Android数据存储机制
Android 提供了存储和获取数据的以下几种机制
3.1. Preference
Preference 提供了一种轻量级的存取机制,主要是可以通过关键字读取和存储某个Preference value.
比如载系统启动的时候得到上次系统退出时候保存的值 。
- view plaincopy to clipboardprint?
- . . .
- 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();
- // Save user preferences. We need an Editor object to
- // make changes. All objects are from android.context.Context
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- SharedPreferences.Editor editor = settings.edit();
- editor.putBoolean("silentMode", mSilentMode);
- // Dont forget to commit your edits!!!
- editor.commit();
- }
- . . .
- 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();
- // Save user preferences. We need an Editor object to
- // make changes. All objects are from android.context.Context
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- SharedPreferences.Editor editor = settings.edit();
- editor.putBoolean("silentMode", mSilentMode);
- // Dont forget to commit your edits!!!
- editor.commit();
- }
3.2. Files
通过Android数据存储中的File机制你可以直接存储一个文件到你手机文件系统路径比如SD卡中 。
需要注意的是 , 默认情况下存储的文件是不可以被其他application是访问的 !!
Context.openFileInput() 返回java的标准文件输入对象 。
Context.openFileOutput() 返回java的标准文件输出对象 。
3.3. Databases.
Android 使用 SQLite 数据库 。
可以通过调用SQLiteDatabase.create() and 以及子类 SQLiteOpenHelper.
Android 还提供了sqlite3 database tool, 你可以通过这个工具像MySQL tool那样来直接访问,修改数据库
3.4. Network.
最后你也可以通过网络来存储数据,使用下面两个包的java class.
- java.net.*
- android.net.*
Android数据存储的相关应用就为大家介绍到这里 。
【责任编辑:曹凯 TEL:(010)68476606】