Ali*_*lin 16 android mvvm android-architecture-components android-jetpack
使用Android架构组件和MVVM模式,我有一些问题.
基于Web上的大多数示例,通常有简单的示例.
有一个房间实体
@Entity
public class User{
...
}
有一个DAO
@Dao
public interface UserDao{
...
}
有一个存储库
public class UserRepository{
}
视图模型
public class UsersListViewModel extends AndroidViewModel{
....
}
现在让我们来扩展这个和旁边user有user_access和user_actions举例来说,这么有3个表.
问题:
对于房间I中的每个表,创建实体.我应该Dao为每个实体(userDao,userAccessDao,userActionsDao)或一般AppDao类提供3个吗?
同样适用于Repository.每个Entitiy的整个应用程序或存储库的一个存储库(RepositoryUser,RepositoryUserAccess,RepositoryUserActions?
如果我的应用程序有一个主要活动和多个片段,我应该为每个片段创建一个ViewModel吗?
Eur*_*tré 20
你应该有一个上下文DAO,比方说一个UserDao应该包含与用户相关的查询,如果你的应用程序中有帖子,你应该有一个PostDao用于与帖子相关的所有内容.
对于存储库的逻辑相同,请记住类的单一责任原则,遵循该原则,您应该为每种实体分隔存储库(UserRepository,PostRepository ...).
遵循描述为Jetpack的所有新概念,每个片段应该有一个viewmodel,除非出于一个奇怪的原因,你有两个片段需要完全相同的逻辑,并且由于片段的目标是要重用,所以不太可能发生.
| 归档时间: |
|
| 查看次数: |
2687 次 |
| 最近记录: |