利用SQLite在android上创建数据库
方法:
1、创建我们的数据库类继承SQLiteOpenHelper类
完成相关函数的重写和数据库对象的初始化
public MySQLiteOpenHelper(Context context,int version)
super(context, "fanfan2.db", null, version);
helper.getReadableDatabase();
重写onCreate和onUpgrade
2、创建数据库对象并获取数据库对象
MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);
helper.getReadableDatabase();
3、要创建新表的话,就在oncreate里面敲execSQL
这样就是创建一个新的学生表
public void onCreate(SQLiteDatabase db) { Log.d("fanfan", "onCreate"); db.execSQL("CREATE TABLE student(id INTEGER,name TEXT)"); }
4、oncreate在创建新的数据库的时候才会被调用,如果你之前创建了,现在是不会被调用的。
onUpgrade是在数据库的版本更新之后才会被调用。
代码:
com.fry.MySQLiteOpenHelper
1 package com.fry; 2 3 import android.content.Context; 4 import android.database.sqlite.SQLiteDatabase; 5 import android.database.sqlite.SQLiteDatabase.CursorFactory; 6 import android.database.sqlite.SQLiteOpenHelper; 7 import android.util.Log; 8 9 public class MySQLiteOpenHelper extends SQLiteOpenHelper{10 11 /*12 * 1、context 上下文13 * 2、那么数据库名称14 * 3、factory15 * 4、version 数据库文件的版本16 */17 18 public MySQLiteOpenHelper(Context context,int version) {19 super(context, "fanfan2.db", null, version);20 // TODO Auto-generated constructor stub21 }22 23 /* 数据库文件创建成功后调用24 * (non-Javadoc)25 * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)26 */27 @Override28 public void onCreate(SQLiteDatabase arg0) {29 Log.d("fanfan", "onCreate");30 }31 32 /* 数据库文件更新后调用 33 * (non-Javadoc)34 * @see android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)35 */36 @Override37 public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {38 Log.d("fanfan", "onUpgrade");39 }40 41 }
com.fanfan.test.Test
1 package com.fanfan.test; 2 3 4 import com.fry.Activity01; 5 import com.fry.MySQLiteOpenHelper; 6 7 import android.annotation.SuppressLint; 8 import android.test.AndroidTestCase; 9 import android.util.Log;10 11 public class Test extends AndroidTestCase{12 @SuppressLint("NewApi") public void test1(){13 MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);14 helper.getReadableDatabase();15 String name=helper.getDatabaseName();16 Log.d("test1", name);17 }18 19 20 }
/createDatabase2/AndroidManifest.xml
15 6 9 10 15 16 17 18 21 22 26 2723 24 25 28 29 33 34