background image

除了上述功能外,

SQLite 是一个完整的 SQL 系统,拥有完整的触发器,交易等等。

Android 集成了 SQLite 数据库

Android 在运行时(run-time)集成了 SQLite,所以每个 Android 应用程序都可以使用

 

SQLite 数据库。对于熟悉 SQL 的开发人员来时,在 Android 开发中使用 SQLite 相当简单。
但是,由于

 JDBC 会消耗太多的系统资源,所以 JDBC 对于手机这种内存受限设备来说并

不合适。因此,

Android 提供了一些新的 API 来使用 SQLite 数据库,Android 开发中,程序

员需要学使用这些

 API。

数据库存储在

 data/< 项目文件夹 >/databases/ 下。

Android 开发中使用 SQLite 数据库

Activites 可以通过 Content Provider 或者 Service 访问一个数据库。下面会详细讲解如果

创建数据库,添加数据和查询数据库。

创建数据库

Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,

然后创建表、索引,填充数据。

Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,

你只要继承

 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开

发应用程序的需要,封装了创建和更新数据库使用的逻辑。

SQLiteOpenHelper 的子类,至少

需要实现三个方法:

构造函数,调用父类

 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境

(例如,一个

 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表

你正在使用的数据库模型版本的整数。

  onCreate()方法,它需要一个 SQLiteDatabase 对

象作为参数,根据需要对这个对象填充表和初始化数据。

  onUpgrage() 方法,它需要三个参

数,一个

 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如

何把一个数据库从旧的模型转变到新的模型。

 

下面示例代码展示了如何继承

 SQLiteOpenHelper 创建数据库:

1

public class DatabaseHelper extends SQLiteOpenHelper {        DatabaseHelper(Context 

context, String name, CursorFactory cursorFactory, int version)   

2

 {          super(context, name, cursorFactory, version);       

3

    }             

4

    @Override          public void onCreate(SQLiteDatabase db) {       

5

        // TODO 创建数据库后,对数据库的操作           }       

6

          @Override      

7

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {               // 

TODO 更改数据库版本的操作       

8

    }             

9

@Override      public void onOpen(SQLiteDatabase db) {