在 Android 6.0 及以上版本中,可以使用以下步骤在设备上创建数据库:
- 在应用的
AndroidManifest.xml
文件中,确保已添加android.permission.WRITE_EXTERNAL_STORAGE
权限,用于在设备的外部存储中创建数据库文件。 - 创建一个继承自
SQLiteOpenHelper
的数据库帮助类。在这个类中,实现onCreate()
方法来创建数据库和表。示例代码如下:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "my_table";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_NAME = "name";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE " + TABLE_NAME + " ("
+ COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"
+ COLUMN_NAME + " TEXT)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 如果需要更新数据库结构,可以在此处实现相关逻辑
}
}
- 在需要创建数据库的地方,实例化数据库帮助类并调用
getWritableDatabase()
方法来获得可写的数据库对象。示例代码如下:
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
- 这样就可以使用
db
对象执行数据库操作了,如插入、查询、更新、删除等。
请注意,如果已经安装了应用并且已经创建了数据库,那么在应用下一次运行时不会再次调用 onCreate()
方法创建数据库和表。只有在数据库版本号升级时,才会调用 onUpgrade()
方法来更新数据库结构。
此外,从 Android 11 开始,为了保护用户的数据隐私,应用默认无法直接访问外部存储中的文件。如果需要在外部存储中创建数据库文件,还需要申请 MANAGE_EXTERNAL_STORAGE
权限并在 AndroidManifest.xml
文件中声明。
要在Android 6.0上创建数据库,可以按照以下步骤进行操作:
- 首先,在项目的
build.gradle
文件中添加implementation 'com.android.support:appcompat-v7:28.0.0'
依赖。 - 在你的
AndroidManifest.xml
文件中,确保已经添加了<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
权限,以便在Android 6.0及以上版本中可以访问外部存储。 - 创建一个类继承
SQLiteOpenHelper
,并重写onCreate()
和onUpgrade()
方法。在onCreate()
方法中,可以执行创建数据库和表的SQL语句。
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE IF NOT EXISTS mytable ("
+ "id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "age INTEGER)";
db.execSQL(createTableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < newVersion) {
db.execSQL("DROP TABLE IF EXISTS mytable");
onCreate(db);
}
}
}
- 在你的Activity中,使用
DatabaseHelper
类来创建数据库实例,并使用getWritableDatabase()
方法获取数据库的可写入实例。
DatabaseHelper databaseHelper = new DatabaseHelper(this);
SQLiteDatabase database = databaseHelper.getWritableDatabase();
现在,你已经成功在Android 6.0上创建了数据库。可以使用database
对象执行各种数据库操作,例如插入、查询、更新和删除等。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/137658.html