Alrighty我有一个使用xamarin和mvvmcross框架构建的跨平台移动应用程序。该应用程序的一部分是从远程数据库中获取一些数据。这些数据会偶尔更新/删除/创建,我希望让我的用户保持最新状态。什么是实现这一目标的好方法,最好是使用跨平台代码?
我总能设置某种计时器,但我更喜欢更优雅的方式。
答案 0 :(得分:2)
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/。
答案 1 :(得分:0)
查看Couchbase Mobile http://www.couchbase.com/nosql-databases/couchbase-mobile Xamarin有一个包装器 https://components.xamarin.com/view/couchbase-lite-net 使用Couchbase,您可以使用NoSQL DB在移动设备和云服务器之间保存/更新/同步数据。
答案 2 :(得分:0)
在Couchbase Mobile的上下文中,您偶尔更新/删除和创建数据,您可以根据每个方法调用复制数据。这种情况会发生一次,与持续复制相反。
您可以通过在特定数据库端点上进行PUSH和PULL复制时定义逻辑来实现此目的。
--- PUSH复制将从您的移动应用/设备到Couchbase服务器(云组件) 应用程序/设备上的库Couchbase Lite(应用程序组件)将标记新数据或对现有文档(数据库)的更改,并将PUSH复制到Sync Gateway(数据编排组件)。
--- PULL复制从Couchbase服务器(云组件)发送到移动设备。 Sync Gateway(数据编排组件)具有高级侦听器,可以观察Couchbase Server中的更改,并且在远程更改时将数据提取到Sync Gateway,然后更新您的移动应用程序/设备。
我还建议您查看mini-hack快速教程,特别是Xamarin如何让Xamarin应用与Couchbase Mobile配合使用。移动Developer Portal也是另一个很好的资源,其中有Xamarin Android& iOS指南。