什么是一个跨平台的解决方案,以保持我的移动应用程序从数据库更新



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

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

正如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/.

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

在您的用例偶尔更新/删除和创建数据的Couchbase Mobile上下文中,您可以基于每个方法调用复制数据。这将发生一次,而不是在连续的基础上复制。

您可以通过定义在特定数据库端点上何时发生PUSH和PULL复制的逻辑来实现这一点。

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

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

我还建议你看一看迷你hack快速教程,特别是关于如何让Xamarin应用程序与Couchbase Mobile一起工作的Xamarin教程。移动开发者门户也是一个很好的资源,那里有Xamarin Android & &;iOS指南。

相关内容

  • 没有找到相关文章

最新更新