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

Android SDK 开发之数据存储

 2010-03-23 03:52:00 来源:WEB开发网   
核心提示:super.onStop();// Save user preferences. We need an Editor object to// make changes. All objects are from android.context.ContextSharedPreferences settings = ge

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);

// Don't forget to commit your edits!!!

editor.commit();

}

}

Files 文件

你可以直接将文件保存在移动设备上,或者在一个可移动存储设备上. 默认情况下, 其它的应用程序无法访问这些文件.

为从文件读取数据, 调用Context.openFileInput()然后将文件路径和名称传给它. 它将返回一个标准的Java FileInputStream 对象. 要向文件写入数据, 使用Context.openFileOutput(), 并 传入文件名来. 它将返回一个FileOutputStream对象. 试图从另一个程序来调用这些方法读写相同的文件名是不行的; 你只能访问本地文件.

如果你在编译期有一个静态文件和你的程序一同打包, 你可以将这个文件保存为 res/raw/myDataFile, 然后使用Resources.openResource(R.raw.myDataFile)来读取. 它将返回一个InputStream对象, 你可以用这个对象来从文件读数据.

Databases 数据库

android API包含对创建和使用SQLite数据库的支持. 每个数据库为创建它的应用程序私有.

SQLiteDatabase 对象代表一个数据库, 并且有用来与它交互的方法 -- 查询和管理数据等. 要创建一个数据库, 调用SQLiteDatabase.create()并且创建一个SQLiteOpenHelper的子类.

作为SQLite数据库系统支持的一部分, android暴露出数据库管理的函数, 它们让你可以将复杂的数据储存在有用的对象中. 例如,android为联系人信息定义了一个数据类型; 该数据类型包含姓名, 地址, 电话号码, 照片以及其它描述一个人的信息.

android内置sqlite3数据库工具, 它使你能够浏览表内容, 运行sql命令,以及运行其它sql数据库的功能. 详见Examine databases文档.

所有的数据库, 包括sqlite和其它的, 都被储存在设备上的/data/data/package_name/databases中.

需要创建多少个表, 每张表包含多少数据, 它们如何连接不在本文档的讨论范围之内. 但是android并不会在SQLite概念之外施加任何约束. 我们推荐包含一个自动增加的键作为一个唯一的id来快速索引记录. 这个对于私有数据是不必要的, 但是如果你实现一个content provider, 那么你必须包含这样一个唯一的id域. 关于这类问题的详细讨论可以参看Content Providers文档, 以及NotPad示例代码的NotePadProvider类.

Network 网络

你也可以使用网络来存取数据. 使用以下包内的类:

java.net.*

android.net.*

上一页  1 2 

Tags:Android SDK 开发

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