【发布时间】:2018-06-13 19:22:47
【问题描述】:
对于 Android 架构组件和 MVVM 模式,我有一些疑问。
基于网络上的大多数示例,通常都有简单的示例。
- 有一个 Room 实体
@Entity
public class User{
...
}
- 有一个 DAO
@Dao
public interface UserDao{
...
}
- 有一个存储库
public class UserRepository{
}
- 视图模型
public class UsersListViewModel extends AndroidViewModel{
....
}
现在让我们扩展它,在 user 旁边有 user_access 和 user_actions 例如,所以有 3 个表。
问题:
-
我为 Room 中的每张桌子创建实体。我应该为每个实体(userDao、userAccessDao、userActionsDao)设置 3 个
Dao还是只是一个通用的AppDao类? -
存储库也是如此。整个应用程序的一个存储库或每个实体的存储库(RepositoryUser、RepositoryUserAccess、RepositoryUserActions?
-
如果我的应用有一个 main Activity 和多个 Fragment,我应该为每个 Fragment 创建一个 ViewModel 吗?
【问题讨论】:
标签: android mvvm android-architecture-components android-jetpack