Android创建和使用数据库详细指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android创建和使用数据库详细指南(1)

摘要:每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库--SQLite,本文介绍的就是如何为你的Android应用程序创建和操作SQLite数据库。

数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的SQL数据库,在许多领域广泛使用,如Mozilla FireFox就是使用SQLite 来存储配置数据的,iPhone也是使用SQLite来存储数据的。

在Android中,你为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data//databases文件夹中,在这篇文章中,你将会学习到如何在Android中创建和使用数据库。

1SQLite数据库

使用Eclipse创建一个Android项目,取名为Database,如图1所示:

图1 数据库-使用Eclipse创建你的Android新项目

2创建DBAdapter辅助类

接下来创建一个数据库,取名为bookstitles,字段如图2所示。

图2 数据库字段在DBAdapter.java文件中,定义清单1中的常量。

清单1 定义DBAdapter.java文件中的常量

package net.learn2develop.Database;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.SQLException;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.util.Log;

public class DBAdapter

{

public static final String KEY_ROWID = "_id";

public static final String KEY_ISBN = "isbn";

public static final String KEY_TITLE = "title";

public static final String KEY_PUBLISHER = "publisher";

private static final String TAG = "DBAdapter";

private static final String DATABASE_NAME = "books";

private static final String DATABASE_TABLE = "titles";

private static final int DATABASE_VERSION =1;

private static final String DATABASE_CREATE =

"create table titles (_id integer primary key autoincrement, "

+ "isbn text not null, title text not null, "

+ "publisher text not null);";

private final Context context;

}

DATABASE_CREATE常量包括创建titles表的SQL语句。

在DBAdapter类中,你可以扩展SQLiteOpenHelper类,它是一个Android辅助类,主要用于数据库创建和版本管理。实际上,你可以覆盖onCreate()和onUpgrade()方法,如清单2所示。

清单2 在DBAdapter类中,扩展SQLiteOpenHelper类覆盖onCreate() 和onUpgrade()方法

package net.learn2develop.Database;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.SQLException;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.util.Log;

public class DBAdapter

{

public static final String KEY_ROWID = "_id";

public static final String KEY_ISBN = "isbn";

public static final String KEY_TITLE = "title";

public static final String KEY_PUBLISHER = "publisher";

private static final String TAG = "DBAdapter";

private static final String DATABASE_NAME = "books";

private static final String DATABASE_TABLE = "titles";

private static final int DATABASE_VERSION =1;

private static final String DATABASE_CREATE =

"create table titles (_id integer primary key autoincrement, " + "isbn text not null, title text not null, "

+ "publisher text not null);";

private final Context context;

private DatabaseHelper DBHelper;

private SQLiteDatabase db;

public DBAdapter(Context ctx)

{

this.context = ctx;

DBHelper = new DatabaseHelper(context);

}

private static class DatabaseHelper extends SQLiteOpenHelper {

DatabaseHelper(Context context)

{

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db)

{

db.execSQL(DATABASE_CREATE);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion,

int newVersion)

{

Log.w(TAG, "Upgrading database from version " + oldVersion

相关文档
最新文档