Android数据库操作——创建数据库
Android打开或创建Sqlite数据库只需上述四步:
下面举例说明:
1继承帮助者
public class MySqliteOpenHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
2写构造方法
构造方法里:
context是传一个上下文,
name为你数据库名字,
SQLiteDatabase.CursorFactory factory 写为null即可。
version是版本号,从1开始,不可小于1。
看源码中描述更具体:
public class MySqliteOpenHelper extends SQLiteOpenHelper {
public MySqliteOpenHelper(@Nullable Context context, @Nullable String name, int version) {
super(context, name, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
3实例化帮助者
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(getApplicationContext(),"mydb.db",1);
}
}
4得数据库
getReadableDatabase() 和getWritableDatabase()作用基本一样,当数据库存在就打开,不存在就创建。只是getReadableDatabase() 会在磁盘满时返回一个只读数据库。
源码描述getReadableDatabase()如下:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(getApplicationContext(),"mydb.db",1);
SQLiteDatabase sqLiteDatabase = mySqliteOpenHelper.getWritableDatabase();
}
}
完成后在虚拟机得设备文件管理下/data/data/你的包名/databases目录下可以看到数据库文件已经创建: