一、實現一個類,繼承SQLiteOpenHelper類,並實現構造函數,onCreate() onUpgrade()
import android.content.Context; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class DbOpenHelper extends SQLiteOpenHelper { private static String name = "mydb.db";// 表示數據庫的名稱 private static int version = 2;// 表示數據庫的版本號碼 public DbOpenHelper(Context context) { super(context, name, null, version); } // 當數據庫創建的時候,是第一次被執行,完成對數據庫的表的創建 @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub //支持的數據類型:整型數據,字符串類型,日期類型,二進制的數據類型, String sql = "create table person(id integer primary key autoincrement,name varchar(64),address varchar(64))"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub String sql = "alter table person add sex varchar(8)"; db.execSQL(sql); } }
只有當調用getWritableDatabase()或getReadableDatabase()時才調用onCreate()
import com.example.android_db.db.DbOpenHelper; import android.test.AndroidTestCase; public class MyTest extends AndroidTestCase { public MyTest() { // TODO Auto-generated constructor stub } public void createDb(){ DbOpenHelper helper = new DbOpenHelper(getContext()); helper.getWritableDatabase(); } }