【问题标题】:What is a cross platform solution to keep my mobile app updated from a database?什么是让我的移动应用程序从数据库中更新的跨平台解决方案?
【发布时间】:2015-09-18 01:45:04
【问题描述】:

好的,我有一个使用 xamarin 和 mvvmcross 框架构建的跨平台移动应用程序。该应用程序的一部分正在从远程数据库中获取一些数据。这些数据将偶尔更新/删除/创建,我想让我的用户保持最新。有什么好的方法可以实现这一点,最好使用跨平台代码?

我总是可以设置某种计时器,但我更喜欢更优雅的方式。

【问题讨论】:

  • 您只想为您当前的数据库构建一些东西?因为使用 parse.com,您可以非常高效和专业地做您想做的事
  • 嗨,蒂姆,您当前使用的远程数据库是什么?

标签: mobile xamarin cross-platform updates


【解决方案1】:

正如 Artur 所提到的,Couchbase 是一个不错的选择 - 特别是在进行断开连接的编辑时。从头开始学习它确实有一点学习曲线(如果你坚持下去,这是完全值得的)。

考虑将 Akavache (https://github.com/akavache/Akavache) 作为替代方案。它使用得很好且更简单,但提供了您所询问的基本功能。

我建议将这两种方法与使用 ModernHttpClient (https://components.xamarin.com/view/modernhttpclient) 结合使用,它基本上只是一个可以提升性能的插件。

查看 Rob Gibbens 撰写的这篇优秀文章,其中涵盖了使用 Akavache、ModernHttpClient 和其他 x 平台有益健康的内容:http://arteksoftware.com/resilient-network-services-with-xamarin/

【讨论】:

    【解决方案2】:

    查看 Couchbase Mobile http://www.couchbase.com/nosql-databases/couchbase-mobile Xamarin 有一个包装器 https://components.xamarin.com/view/couchbase-lite-net 借助 Couchbase,您可以使用 NoSQL DB 在移动设备和云服务器之间保存/更新/同步数据。

    【讨论】:

      【解决方案3】:

      Couchbase Mobile 的上下文中,对于您偶尔更新/删除和创建数据的用例,您可以根据每个方法调用复制数据。这将发生一次,与连续复制相反。

      您可以通过定义有关何时在特定数据库端点上进行 PUSH 和 PULL 复制的逻辑来做到这一点。

      ---PUSH 复制将从您的移动应用程序/设备到 Couchbase 服务器(云组件) 您的应用/设备上的库 Couchbase Lite(应用组件)将标记新数据或现有文档(数据库)上的更改,并将 PUSH 复制到同步网关(数据编排组件)。

      ---PULL 复制从 Couchbase 服务器(云组件)发生到移动设备。同步网关(数据编排组件)具有高级侦听器,用于观察 Couchbase 服务器中的变化,并在远程更改时将数据拉到同步网关,然后更新您的移动应用程序/设备。

      我还建议查看 mini-hack 快速教程,特别是 Xamarin 一个关于如何让 Xamarin 应用程序与 Couchbase Mobile 一起工作的教程。移动版Developer Portal 也是另一个很好的资源,其中有 Xamarin Android 和 iOS 指南。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-12
        • 2010-11-02
        • 2013-08-17
        相关资源
        最近更新 更多