在Google推荐的体系结构https://developer.android.com/jetpack/docs/guide中,他们使用存储库来查询来自不同数据源的数据。我很高兴更好地理解以下几点:
是否使用存储库代替MVVM中的内容提供者?
[如果不是,内容提供者将位于MVVM模式中吗?
最重要的是,在这种情况下,内容提供者和存储库之间的主要区别是什么?
让我们开始
什么是内容提供商?
内容提供者是一个组件,可根据要求将一个应用程序中的数据提供给另一个应用程序。数据可以是任何内容(文件,图像,视频和数据库中的数据,即Android中的SQLite]
因此,可以说这是共享Persistent Data的媒介/方法。
所以,我会说
1.MVVM中是否使用存储库代替内容提供者?
不,因为它们是两种不同的事物。存储库位于ViewModel和DataSource(本地和远程)之间。而内容提供者本身则充当源或至少在持久数据源之上一层。
2。否则,内容提供者将位于MVVM模式中吗?
它将适合持久数据源适合模型模块的地方。
就像上面的答案中已经提到的。
希望这会对您有所帮助。