数据库类型 | 特点 | 适用场景 |
---|---|---|
SQLite | 轻量级嵌入式数据库,Android内置支持,无需额外配置 | 简单数据存储(如用户配置、缓存数据) |
Room | Android Jetpack 组件,基于SQLite的抽象层,提供编译时校验 | 需要类型安全、减少重复代码的场景(官方推荐) |
Realm | 第三方高性能数据库,支持复杂数据模型和实时更新 | 高频写操作、复杂对象关系管理(如树形结构、嵌套对象) |
数据库类型 | 特点 | 适用场景 |
---|---|---|
Firebase Realtime DB | 谷歌云服务,数据实时同步,JSON格式存储,离线支持 | 社交类应用、实时协作场景(如聊天、在线白板) |
Firebase Firestore | 谷歌云服务,支持NoSQL/SQL双模式,扩展性强,免费额度高 | 需要灵活数据结构的中大型应用(如电商、内容管理) |
AWS DynamoDB | 亚马逊云服务,无服务器架构,自动扩展,支持高吞吐量 | 高并发、大数据量应用(如游戏排行榜、物联网设备管理) |
Room
(兼容SQLite),利用其编译时校验和流畅API。Realm
,尤其在需要频繁读写大对象图时。Firebase Firestore
,简化云端数据同步逻辑。AWS DynamoDB
,结合云函数实现无服务器架构。A:
A:
CREATE TABLE
语句转为Room的@Entity
注解。 @Dao
接口替代手写SQL,将查询方法改为抽象方法。 Migration
类处理版本升级,避免数据丢失。rawQuery
可替换为Room的@Query
注解,直接编译期检查语法