android - 人们如何在 Sync Adapter 和 Firebase for Android App 之间做出选择

标签 android firebase-realtime-database android-contentprovider android-syncadapter

正如 Sync Adapters 所做的那样,一旦数据发生变化,UI 就会更新,它需要创建内容提供者,而当在其上创建 DataBase 时,Firebase 会做同样的事情

编辑:那么我究竟应该在我的应用程序中实现什么来有效地将数据从数据库同步到 UI,我应该使用 Firebase 还是创建我自己的同步适配器来同步数据。

我只想比较 SyncAdapter 和 Firebase 在效率和易实现性和长期使用方面的表现

最佳答案

很难比较这两者,因为它们是不同的:

  • Firebase Realtime Database 是 Google 的一项托管服务(=后端),它带有 SDK,可简化同步和离线使用。它是第三方库,不是 Android SDK 的一部分。
  • SyncAdapter 是 Android SDK 的一部分,它可以帮助您创建与任何后端的定期同步。

那么选择哪一个呢?这取决于你的后端——如果你有现有的后端,请使用 SyncAdapter。如果您正在创建一个新的应用程序并且您还没有后端,那么 Firebase 可能对您来说更容易。你不需要做任何同步逻辑,它也处理离线。但是,您应该考虑 Firebase 定价。

关于 SyncAdapter - 它是 SDK 的过时部分,我不会将它用于新应用程序。与所有内容提供者等一起实现也有点痛苦。相反,我会使用 JobScheduler API 来安排定期同步并通过推送消息触发同步 - 它比定期同步更高效、更快。

关于android - 人们如何在 Sync Adapter 和 Firebase for Android App 之间做出选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372325/

相关文章:

Android - 尝试重新打开一个已经关闭的对象 : SQLiteQuery using loaderManager

android - 如何从 firebase 检索多个数据列表

java - 如何在 Firebase 中调用内部字段

ios - 尝试使用 Firebase 后端创建排行榜并对数据进行排序无法正确检索数据(Swift 4.2)

java - 如何在 Android 上查询 ContentProvider 的值不为 null?

android - 如何从 URI 加载 Picasa 图片?

android - 使用 WebChromeClient 防止在外部浏览器中打开链接

java - FragmentTransaction.commit 上的 Activity 已被销毁

java - 如何将 XML 输入流解析为字符串或对象 (Android studio)

android,覆盖屏幕密度