【问题标题】:How to sync data in AbstractThreadedSyncAdapter with Firebase?如何将 AbstractThreadedSyncAdapter 中的数据与 Firebase 同步?
【发布时间】:2017-02-15 13:28:54
【问题描述】:

我正在尝试使用 AbstractThreadedSyncAdapter 从 firebase 同步数据。为此,我编写了一些 firebase onPerformSync 方法。

问题是,一旦调用此方法,应用就会崩溃。

日志错误:名称为 [DEFAULT] 的 FirebaseApp 不存在

谁能帮忙?

【问题讨论】:

  • 为什么需要手动同步数据? firebase 具有实时数据库同步功能,
  • 嗨 MrDroid,我正在尝试将用户手机的所有联系人与 firebase 同步,以查看其中哪些已在应用程序上注册。我想为此编写一个同步适配器。有没有更好的办法?
  • 您的数据存储在 firebase 的真实数据库中,对吗?所以无需同步您的数据将自动同步,只需在您的应用中添加 addValueEventListener
  • 在某些情况下,您肯定需要使用同步适配器将数据同步到 Firebase。就像您的应用程序可能希望利用使用 sqlite db 对您的数据运行复杂查询的能力,而这在 firebase 中是不可能的。如果你想运行如此复杂的查询,来自 firebase 的人确实建议使用这种方法。

标签: android firebase android-syncadapter


【解决方案1】:

我最终在 SyncAdapter 构造函数中这样做了

if(FirebaseApp.getApps(context).isEmpty()){
        FirebaseApp.initializeApp(context, FirebaseOptions.fromResource(context));
    }

发生这种情况的原因是因为 SyncAdapter 被配置为在单独的进程 (:sync) 上运行。 FirebaseApp 仅在主进程中自动初始化。所以这里我们必须手动初始化它。

注意:不知道这是否有任何影响

【讨论】:

    【解决方案2】:

    开发人员无需与 Firebase 同步数据。该平台本身具有实时数据库同步。 Firebase 主页上说过,你不需要处理任何同步的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2017-09-01
      相关资源
      最近更新 更多