码迷,mamicode.com
首页 > 移动开发 > 详细

SQLite 在 Android 的应用

时间:2016-03-05 23:29:44      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

Android提供了创建和使用SQLite数据库的API(Application Programming Interface,应用程序编程接口)。

在Android系统中,主要由类SQLiteDatabase和SQLiteOpenHelper对SQLite数据库进行管理和操作。

 

(一)SQLiteOpenHelper类


SQLiteOpenHelper是SQLiteDatabase的一个帮助类,用来管理数据库的创建和版本的更新。

因为是个抽象类,所以必须创建一个类来继承它,并实现两个抽象的方法onCreate()和onUpgrade()方法。

方法 说明

SQLiteOpenHelper(Context context, String name,

  SQLiteDatabase.CursorFactory factory, int version)

构造方法
abstract  void onCreate(SQLiteDatabase db) 创建数据库时调用
abstract  void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
升级数据库时调用
void onOpen(SQLiteDatabase db)  打开数据库时调用
SQLiteDatabase getReadableDatabase()
创建或打开数据库
SQLiteDatabase getWritableDatabase() 创建或打开一个读写数据库

下面是一个具体的例子:DatabaseHelper.java

private static class DatabaseHelper extends SQLiteOpenHelper {

    static final String DATABASE_NAME = "College.db";
    static final int DATABASE_VERSION = 1;
    static final String STUDENTS_TABLE_NAME = "students";
    static final String CREATE_DB_TABLE =
        " CREATE TABLE " + STUDENTS_TABLE_NAME +
        " (_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
        " name TEXT NOT NULL, " +
        " grade TEXT NOT NULL);";

    DatabaseHelper(Context context){
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
        db.execSQL(CREATE_DB_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + STUDENTS_TABLE_NAME);
        onCreate(db);
    }
}

 

(二)创建数据库


在Activity中创建数据库对象,可能是在onCreate()方法或事件中创建:

DatabaseHelper database = new DatabaseHelper(this);
SQLiteDatabase db = null;
db = database.getWritableDatabase();

首先实例一个SQLiteOpenHelper帮助类的对象,然后调用该对象的getWritableDatabase() 或 getReadableDatabase()方法 获得SQLiteDatabase 数据库对象。

 

另外2种创建的方法:

1、应用SQLiteDatabase对象openDatabase()方法及openOrCreateDatabase()方法创建数据库;

2、应用Activity继承于父类android.content.Context创建数据库的方法openOrCreateDatabase()来创建数据库。

 
 

(三)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)

删除一条记录

update(String table,ContentValues values, String whereClause,String[]  whereArgs)

 修改记录

query(String table,String[] columns, String selection, String[]selectionArgs,

String groupBy,String having, String orderBy)

查询一条记录
execSQL(String sql)  执行一条SQL语句
close()  关闭数据库

 

(四)增删改查


 

SQLite 在 Android 的应用

标签:

原文地址:http://www.cnblogs.com/luoxu34/p/5246001.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!