SQLiteOpenHelper helper = new SQLiteOpenHelper(context, "db_name", null, version) { @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE user(id INTEGER PRIMARY KEY, name TEXT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 数据库升级逻辑 } };
LiveData
和Observable
支持Executors
)@Entity public class User { @PrimaryKey(autoGenerate = true) public int id; public String name; } @Dao public interface UserDao { @Insert void insert(User user); @Query("SELECT FROM user") LiveData<List<User>> getAllUsers(); }
LiveData
)Realm realm = Realm.getDefaultInstance(); realm.executeTransaction(r -> { User user = r.createObject(User.class, id); user.setName("John"); });
数据库类型 | 特点 | 适用场景 |
---|---|---|
GreenDao | 轻量级ORM框架,支持注解和动态查询 | 中小型项目快速开发 |
Firebase Firestore | 云数据库,实时同步,NoSQL结构 | 需要云端同步的应用 |
SQLite OpenHelper | 第三方库(如DBFlow)简化SQLite操作 | 复杂SQL逻辑的封装需求 |
LiveData
),或对SQL语法有强需求。