Android Studio 是Android开发的主流工具之一,我们可以使用Android Studio 导出数据库,以实现数据获取、备份、复制等目的。
一、 数据库操作
在 Android 中,使用 SQLite 数据库进行数据存储,可以使用 SQLiteOpenHelper 帮助创建和管理 SQLite 数据库,主要包含以下操作:
· onCreate():当数据库第一次被创建时调用,用于创建表和索引
· onUpgrade():当数据库升级时调用,用于更新表结构
· getReadableDatabase():获取 可读 的 SQLiteDtabase 实例
· getWritableDatabase(): 获取 可写 的 SQLiteDatabse 实例
代码示例:
public class MyDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my.db";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "user";
public MyDbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE " + TABLE_NAME + " ("
+ "id INTEGER PRIMARY KEY,"
+ "name TEXT NOT NULL,"
+ "age INTEGER DEFAULT 0)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
public List getAllUser(){
List users = new ArrayList<>();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
while (cursor.moveToNext()){
User user = new User();
user.id = cursor.getInt(cursor.getColumnIndex("id"));
user.name = cursor.getString(cursor.getColumnIndex("name"));
user.age = cursor.getInt(cursor.getColumnIndex("age"));
users.add(user);
}
return users;
}
public void insertUser(User user){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id", user.id);
values.put("name", user.name);
values.put("age", user.age);
db.insert(TABLE_NAME, null, values);
}
}
二、 数据库导出
Android Studio 提供了多种方式导出数据库文件,这里我们介绍两种最常用的方式。
· 打开 Android Studio,打开 Android Device Monitor
· 选择相应手机,点击 File Explorer,找到/data/data/[应用包名]
· 选择 database 文件夹,将需要导出的 .db 文件保存到指定位置