【问题标题】:How to do sync with local database and parse?如何与本地数据库同步和解析?
【发布时间】:2023-03-21 15:05:01
【问题描述】:

我有一个 Android 应用程序,该应用程序应该可以离线运行。在应用程序中,在离线模式下创建记录时,它们将存储在本地数据库(sqlite)中,当互联网连接可用时,离线期间创建的记录应与解析同步。

我如何在 Android 中做到这一点?

【问题讨论】:

  • Parse 有 saveInBackgroud 方法,可以在用户离线时使用。

标签: android parse-platform android-sqlite


【解决方案1】:

简单的同时运行后台服务来检查你的手机是否连接到互联网,然后 从一个列表中获取本地数据库中的数据,然后将数据解析到另一个列表中

public Collection nonOverLap(Collection coll1, Collection coll2) {
   Collection result = union(coll1, coll2);
   result.removeAll(intersect(coll1, coll2));
   return result;
} // will return elements missing in parse

然后将 nonOverlap 更新为 parse Db :)

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      检查设备是否连接到互联网:

      public static boolean isDeviceConnectedToTheInternet(Context ctx) {
      
          NetworkInfo networkInfo =
                  ((ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE))
                          .getActiveNetworkInfo();
          return networkInfo != null && networkInfo.isConnected();
      }
      

      然后选择一个场景。

      【讨论】:

      • 问题是在从本地数据库的解析中保存数据之后,我必须再次从具有 objectId 的解析中获取相同的数据。
      猜你喜欢
      • 2015-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多