赞
踩
在Android Studio中使用数据库可以有多种方式,常见的几种方式包括使用SQLite数据库和使用
创建一个数据库帮助类:
- public class MyDatabaseHelper extends SQLiteOpenHelper {
- private static final String DATABASE_NAME = "mydatabase.db";
- private static final int DATABASE_VERSION = 1;
-
- public MyDatabaseHelper(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, name TEXT)";
- db.execSQL(createTableQuery);
- }
-
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // 升级数据库
- String dropTableQuery = "DROP TABLE IF EXISTS mytable";
- db.execSQL(dropTableQuery);
- onCreate(db);
- }
- }
然后在需要使用数据库的地方,可以通过实例化数据库帮助类来获取数据库对象,并调用数据库操作方法:
- // 实例化数据库帮助类
- MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
- // 获取数据库对象
- SQLiteDatabase db = dbHelper.getWritableDatabase();
- // 执行数据库操作,例如插入数据
- ContentValues values = new ContentValues();
- values.put("name", "John");
- db.insert("mytable", null, values);
- dependencies {
- implementation 'android.arch.persistence.room:runtime:1.1.1'
- annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
- }
然后,在数据库中定义实体类和数据访问对象(DAO)。实体类对应数据库中的表,数据访问对象定义了对数据库的操作方法。
例如,定义一个实体类:
- @Entity
- public class User {
- @PrimaryKey
- public int id;
- public String name;
- }
定义一个数据访问对象:
- @Dao
- public interface UserDao {
- @Insert
- void insert(User user);
-
- @Query("SELECT * FROM user")
- List<User> getAllUsers();
- }
然后,创建一个数据库类,用于获取数据库对象和访问数据访问对象的方法:
- @Database(entities = {User.class}, version = 1)
- public abstract class MyDatabase extends RoomDatabase {
- public abstract UserDao userDao();
-
- private static MyDatabase INSTANCE;
-
- public static synchronized MyDatabase getInstance(Context context) {
- if (INSTANCE == null) {
- INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
- MyDatabase.class, "mydatabase.db")
- .build();
- }
- return INSTANCE;
- }
- }
最后,在需要使用数据库的地方,可以通过调用数据库类的方法来获取数据库对象和访问数据访问对象的方法:
- // 获取数据库对象
- MyDatabase db = MyDatabase.getInstance(context);
- // 获取数据访问对象
- UserDao userDao = db.userDao();
- // 执行数据库操作,例如插入数据
- User user = new User();
- user.id = 1;
- user.name = "John";
- userDao.insert(user);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。