SQLiteOpenHelper helper = new SQLiteOpenHelper(context, "db_name", null, version); SQLiteDatabase db = helper.getWritableDatabase();
AppDatabase db = Room.databaseBuilder(context, AppDatabase.class, "db_name").build();
数据库类型 | 功能特性 | 典型用途 | 性能 | 开发难度 |
---|---|---|---|---|
SQLite | 基础CRUD | 本地缓存 | 高 | 低 |
Room | 类型安全 | 复杂业务 | 中 | 中 |
// Retrofit接口定义 @POST("/api/user") Call<User> insertUser(@Body User user);
FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference ref = database.getReference("users"); ref.setValue(user);
// Firestore示例 FirebaseFirestore db = FirebaseFirestore.getInstance(); db.collection("users").add(user);
数据库类型 | 实时性 | 离线支持 | 服务器维护 | 适用规模 |
---|---|---|---|---|
MySQL | 否 | 否 | 自建 | 中大型 |
Firebase | 是 | 是 | 云服务 | 小型快速 |
MongoDB | 否 | 社区方案 | 自建 | 中大型 |
A1:根据以下维度判断:
A2:典型方案:
// 同步示例(伪代码) List<LocalData> localData = roomDao.getAll(); for (data : localData) { if (!remoteIdExist(data.id)) { uploadToCloud(data); // 新增 } else if (data.timestamp > remoteData.timestamp) { updateCloud(data); // 覆盖 } }