Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,实现三个方法:
构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。
onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。
onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。
代码如下:
public class DBHelper extends SQLiteOpenHelper { public static final String TB_NAME = "my_table"; public static final String ID = "_id"; public static final String LOCATION = "my_location"; /** * 构造方法 * @param context上下文环境 * @param name数据库名 * @param factory可选的游标工厂(通常是 Null) * @param version数据库的版本(整形数据) */ public DBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } /** * 创建数据库后,对数据库的操作 */ public void onCreate(SQLiteDatabase db) { //建立表格 db.execSQL("CREATE TABLE IF NOT EXISTS " + TB_NAME + " (" + ID + " INTEGER PRIMARY KEY," + LOCATION + " VARCHAR"+ ")"); } /** * 数据库更新的方法 */ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TB_NAME); onCreate(db); } } public void onOpen(SQLiteDatabase db) { super.onOpen(db); //每次成功打开数据库后首先被执行 }
有了这个一个类,我们就可以创建数据库,并执行数据库相关的操作、下面介绍数据库插入数据的应用。
代码如下:
//实例化对象 DBHelper DBhelp=new DBHelper(this, DB_NAME, null, VERSION); //获取写入数据对象 SQLiteDatabase db=DBhelp.getWritableDatabase(); //实例化放置数据对象 ContentValues values = new ContentValues(); //数据准备 values.put(DBHelper.LOCATION, “我的位置”); //插入数据 db.insert(DBHelper.TB_NAME, DBHelper.ID, values);
这个“我的位置”这个数据就被存入到数据库当中了、当然插入数据不是只有这种方法
如下使用SQL 语言
db.execSQL("INSERT INTO " + DBHelper.TB_NAME + "(" DBHelper.LOCATION + ") VALUES " + "("+"我的位置"+")");
这样也可以向数据库中插入数据、