
第8章数据存储
第8章 数据存储

8.1 SQLite数据库
8.1 SQLite数据库

8.1.1 SQLite数据库简介 >SQLite数据库是一个关系型数据库,因为它很小, 引擎本身只有一个大小不到300KB的文件,所以 常作为嵌入式数据库内嵌在应用程序中。 >SQLite生成的数据库文件是一个普通的磁 盘文件,可以放置在任何目录下。 >SQLite数据库的管理工具很多,比较常用 的有SQLite Expert Professional
8.1.1 SQLite数据库简介 ➢ SQLite数据库是一个关系型数据库,因为它很小, 引擎本身只有一个大小不到 300KB的文件,所以 常作为嵌入式数据库内嵌在应用程序中。 ➢SQLite生成的数据库文件是一个普通的磁 盘文件,可以放置在任何目录下。 ➢SQLite数据库的管理工具很多,比较常用 的有SQLite Expert Professional

MgSQLite Expert Professional 3.1.9.2085 ▣x☒ File Database Import/Export Table View SQL Transaction Tools Help 且6题 国 Database:PhoneBookDB Table:Users File:PhoneBookDB 曰PhoneBookDB Databases9 L BuildersL同ata Desicn☑D 国android me -国Users 州M州+ ×米 2Refres RecNoid user_name telephone address mail_address Click here to define a filter 1zsm 123456 aaa zsm@123.com 2 2 1wn 112233 bbb lwn@123.com 3 3ziw 223344 ccc zjw@123.com ①ilter is Empty> Customize. Record 1 of 3

>在Android系统的内部集成了SQLite数 据库,所以Android应用程序可以很方 便地使用SQLite数据库来存储数据。 >在Android SDK的tools目录中有一个 SQLite的命令行工具sqlite3.exe >下面简单说明其使用方法和步骤:
➢在Android 系统的内部集成了 SQLite数 据库,所以 Android 应用程序可以很方 便地使用 SQLite 数据库来存储数据。 ➢在Android SDK的tools目录中有一个 SQLite的命令行工具sqlite3.exe。 ➢下面简单说明其使用方法和步骤:

(1)在控制台窗口的命令行中输入“adb shel1”,进 入adb调试的shelli命令行状态。在“#”提示符下输入 “cd/data/data//databases” (其 中是包名,如com.ex0801),进入到 项目存放数据库文件的目录中。 (2)再输入“sqlite3”(其中, DatabaseName是数据库名称,例如,sqlite:3 phoneBookDB),进入SQL命令状态。 (3)在“sqlite>”提示符下输入SQL查询命令“select *from users”(其中,users是数据库phoneBookDB 中的数据表),则显示数据表users中的全部记录。 (4)输入“.quit”则退出SQL命令状态,再输入“exit” 则退出shell命令行
(1)在控制台窗口的命令行中输入“adb shell”,进 入adb调试的shell命令行状态。在“#”提示符下输入 “cd /data/data//databases”,(其 中是包名,如com.ex08_01),进入到 项目存放数据库文件的目录中。 (2)再输入“sqlite3 ”(其中, DatabaseName是数据库名称,例如,sqlite3 phoneBookDB),进入SQL命令状态。 (3)在“sqlite>”提示符下输入SQL查询命令“select * from users”(其中,users是数据库phoneBookDB 中的数据表),则显示数据表users中的全部记录。 (4)输入“.quit”则退出SQL命令状态,再输入“exit” 则退出shell命令行

RC:\TIHDOTS\system32\cmd.exe ▣x D:\android-sdk-windows\tools>adb shell cd /data/data/com.ex08 01/databases #13 PhoneBookDB PhoneBookDB-iournal #sqlite3 PhoneBookDB SQLite version 3.7.4 Enter "help"for instructions Enter SQL statements terminated with a "; sqlite>select from Users; 11zsml 123456l aaa l zsm@123.com 211wm|1122331bbh11wn@123.com 3lzjwl2233441ccc lzjw@123.com sqlite>.quit exit

>1 可以通过DDMS工具将数据库文件复制到 本地计算机上。 >应用SQLite Expert Professional对数 据库进行操作,完成后再通过DDMS工具 放回到设备中,当需要操作大量数据时, 这是比较方便的方法
➢可以通过DDMS工具将数据库文件复制到 本地计算机上。 ➢应用SQLite Expert Professional对数 据库进行操作,完成后再通过DDMS工具 放回到设备中,当需要操作大量数据时, 这是比较方便的方法

8.1.2管理和操作SQLite数据库的对象 >Android提供了创建和使用SQLite数据库 API (Application Programming Interface,应用程序编程接口)。 >在Android系统中,主要由类 SQLiteDatabase和SQLiteOpenHelper)对 SQLite数据库进行管理和操作
8.1.2 管理和操作SQLite数据库的对象 ➢Android提供了创建和使用SQLite数据库 的API(Application Programming Interface,应用程序编程接口)。 ➢在Android系统中,主要由类 SQLiteDatabase和SQLiteOpenHelper对 SQLite数据库进行管理和操作

1、SQLiteDatabase类 方法 说明 openOrCreateDatabase(String path, 打开或创建数据库 SQLiteDatabase.CursorFactory factory) openDatabase(String path, 打开指定的数据库 SQLiteDatabase.CursorFactory factory,int flags) insert(String table,String nullColumnHack, 新增一条记录 ContentValues values) delete(String table,String whereClause, 删除一条记录 String[]whereArgs) query(String table,String[]columns, 查询一条记录 String selection,String[]selectionArgs, String groupBy,String having,String orderBy) update(String table,ContentValues values, 修改记录 String whereClause,String[]whereArgs) execSQL(String sql) 执行一条SQL语句 close() 关闭数据库
1、SQLiteDatabase类 方 法 说 明 openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory) 打开或创建数据库 openDatabase(String path, SQLiteDatabase.CursorFactory factory,int flags) 打开指定的数据库 insert(String table, String nullColumnHack, ContentValues values) 新增一条记录 delete(String table,String whereClause, String[] whereArgs) 删除一条记录 query(String table,String[] columns, String selection, String[]selectionArgs, String groupBy,String having, String orderBy) 查询一条记录 update(String table,ContentValues values, String whereClause,String[] whereArgs) 修改记录 execSQL(String sql) 执行一条SQL语句 close() 关闭数据库