Android 不自动提供数据库。在 Android 应用程序中使用 sqlite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 sqliteOpenHelper 帮助你创建一个数据库,你只要继承 sqliteOpenHelper 类,就可以轻松的创建数据库。sqliteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。sqliteOpenHelper 的子类,至少需要实现三个方法:
- 构造函数,调用父类 sqliteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
- onCreate()方法,它需要一个 sqliteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
- onUpgrage() 方法,它需要三个参数,一个 sqliteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
创建数据库步骤:
DatabaseHelper.java
package com.example.android_sqlite.database; import android.content.Context; import android.database.sqlite.sqliteDatabase; import android.database.sqlite.sqliteDatabase.CursorFactory; import android.database.sqlite.sqliteOpenHelper; public class DatabaseHelper extends sqliteOpenHelper { /** * * @param context * :上下文对象 * @param name * :数据库名称 * @param factory * :cursor工厂对象,可以设置null.采用默认的CursorFactory对象 * @param version * :数据库版本号 */ public DatabaseHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); } /** * 当数据库第一次创建的时候会调用这个方法 */ @Override public void onCreate(sqliteDatabase db) { db.execsql("create table users(userid integer primary key autoincrement,username varchar(20))"); } /** * 当数据库的版本升级的时候,自动调用这个方法(根据数据库的版本号) */ @Override public void onUpgrade(sqliteDatabase arg0,int arg1,int arg2) { } }
测试类
package com.example.android_sqlite.test; import com.example.android_sqlite.database.DatabaseHelper; import android.test.AndroidTestCase; public class DatabaseTese extends AndroidTestCase { public void createDatabase() { DatabaseHelper dh = new DatabaseHelper(getContext(),"csdn.db",null,1); dh.getWritableDatabase(); } }
输出结果:
原文链接:https://www.f2er.com/sqlite/200495.html