WEB开发网
开发学院手机开发Android 开发 Android 数据存储之 SQLite嵌入式数据库 阅读

Android 数据存储之 SQLite嵌入式数据库

 2010-03-26 15:43:00 来源:WEB开发网   
核心提示:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作
onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate() 方法,onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。 onUpgrade()方法在数据库的版本发生变化时会被调用,数据库的版本是由程序员控制的,假设数据库现在的版本是1,由于业务的需要,修改了数据库表的结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为了实现这一目的,可以把原来的数据库版本设置为2(或其他数值),并且在onUpgrade()方法里面实现表结构的更新。当软件的版本升级次数比较多,这时在onUpgrade()方法里面可以根据原版号和目标版本号进行判断,然后作出相应的表结构及数据更新。

getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的 SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用的是getWritableDatabase() 方法就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。

四、SQLite示例程序

我们编写一个对表(Contacts)进行的操作来演示SQLite的应用。

1.创建Android工程

Project name: AndroidSQLite

BuildTarget:Android2.1

Application name: SQLite嵌入式数据库

Package name: com.changcheng.sqlite

Create Activity: AndroidSQLite

Min SDK Version:7

2. Contact实体

package com.changcheng.sqlite.entity;

public class Contact {

private Integer _id;

private String name;

private String phone;

public Contact() {

super();

}

public Contact(String name, String phone) {

this.name = name;

this.phone = phone;

上一页  1 2 3 4 5 6 7  下一页

Tags:Android 数据 存储

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