Android数据存储:SQLite与SharedPreferences详解

需积分: 14 3 下载量 85 浏览量 更新于2024-09-25 收藏 4.05MB PDF 举报
"这篇文档介绍了Android中的数据存储方式,特别是SQLite数据库和SharedPreferences的使用。" 在Android开发中,数据存储是应用程序不可或缺的一部分。Android提供了多种数据存储方式,以适应不同类型的存储需求。本文档主要关注SQLite数据库和SharedPreferences两种常见的存储手段。 8.1 存储概述 Android的数据存储体系与传统桌面操作系统有所不同。每个应用都有自己的私有数据空间,但同时也可通过特定方式与其他应用共享数据。Android支持的存储方法包括SharedPreferences、文件系统、SQLite数据库、Content Provider以及网络存储。 8.2 SharedPreferences存储 SharedPreferences是Android为存储轻量级配置信息设计的机制。它以键值对的形式保存数据,适合保存用户偏好设置或简单数据。以下是一个使用SharedPreferences的例子: 1. 首先创建一个新的Android项目,导入示例工程`ex_SharedPreferences`。 2. 运行项目,展示一个包含TextView和EditText的简单界面,用户可以在EditText中输入数据,这些数据可以通过SharedPreferences保存。 例如,当用户在EditText中输入数据后,可以调用SharedPreferences的API进行存储: ```java SharedPreferences preferences = getSharedPreferences("MyPreferences", MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString("key", "value"); editor.apply(); // 或者使用 editor.commit() 来提交更改 ``` 之后,当应用需要读取这些数据时,可以这样操作: ```java SharedPreferences preferences = getSharedPreferences("MyPreferences", MODE_PRIVATE); String value = preferences.getString("key", "default_value"); ``` SQLite数据库存储 SQLite是一种轻量级的、关系型数据库,适用于存储结构化的数据。Android内置了SQLite支持,使得开发者可以方便地创建、查询和管理数据库。 创建数据库通常涉及以下步骤: 1. 创建一个继承自SQLiteOpenHelper的类,重写`onCreate()`和`onUpgrade()`方法。 2. 在`onCreate()`中编写SQL语句创建表。 3. 使用`getWritableDatabase()`或`getReadableDatabase()`获取数据库实例。 4. 执行SQL查询、插入、更新或删除操作。 例如,创建一个名为`User`的表: ```sql CREATE TABLE User (id INTEGER PRIMARY KEY, name TEXT, age INTEGER); ``` 然后在代码中执行SQL: ```java SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("INSERT INTO User (name, age) VALUES ('John', 25)"); Cursor cursor = db.query("User", null, null, null, null, null, null); // 处理查询结果 cursor.close(); db.close(); ``` Content Provider Content Provider是Android系统中用于数据共享的机制,它允许应用将自己的数据暴露给其他应用访问。开发Content Provider需要实现一系列接口,并通过URI来访问数据。 总结来说,Android提供了多种数据存储方案,根据实际需求选择最合适的方法。SQLite适用于结构化数据,SharedPreferences适用于轻量级配置,而Content Provider则用于跨应用数据共享。理解并掌握这些技术对于Android开发者来说至关重要。