大佬教程收集整理的这篇文章主要介绍了使用2.0 API的Android上的Couchdb,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是我需要实时同步数据(或至少具有非常可接受的延迟<= 5s).此外,设备可能会丢失连接,因此我们还需要此应用程序可以脱机工作. 为了实现这一点,我需要复制数据,而couchdb似乎提供了这一点. 所以,我开始测试一些例子:
> https://github.com/couchbaselabs/AndroidGrocerySync
> https://github.com/daleharvey/Android-MobileFuton
> https://github.com/couchbase/Android-EmptyApp
但它们似乎都不适用于this instructions.我的意思是它工作,使apk文件工作,安装成功,但当应用程序启动时它继续运行,绝对没有做任何事情.
我知道Android上的CouchDB以下列方式工作:
>安装CouchDB服务,以便多个应用程序可以使用此服务.
>我的Android应用程序需要使用API通过执行,POST,GET,PUT等请求来使用此CouchDB服务.
我的问题:
>如何使用2.0 API进行上述示例工作?
更新:
可能的相关链接:https://groups.google.com/group/mobile-couchbase/browse_thread/thread/83816c0d0f1b050b
更新2:
似乎问题是cpu版本我拥有的所有平板电脑都是armv5.
相关问题:http://www.couchbase.org/issues/browse/CBMA-13
我还没有在arm7v cpu中测试过,但我会在几个小时内完成.
更新3:
我已经测试了两次应用程序,但仍然无法使用(ARM)armeabi-7va
更新4:
我在几个设备中测试了移动蒲团的例子:
> arm5v:测试失败(模拟器和真实设备),应用程序市场和自己的构建.
> arm6v:测试失败(真实设备),应用程序市场和自己的构建.
> arm7v:测试失败(模拟器),应用市场和自己的构建.
CBMA-10:
如果在开始复制之前通过http PUT手动创建目标数据库,则不需要create_target,一切正常.
CBMA-3:
如果要通过调用_Replicate来启动复制,并且在取消复制后线程仍然阻塞,则可以手动取消此请求.不幸的是,某些Android版本存在一个错误,因此调用httprequest.abort()不起作用(参见http://code.google.com/p/android/issues/detail?id=7933).您可以通过注入自定义的SocketFactory来访问请求所使用的套接字并调用shutdowninput()来解决此问题,从而导致请求被中止.
另一种选择是使用复制器数据库(见https://gist.github.com/832610).在这种情况下,复制期间没有阻塞线程,但您必须轮询复制器数据库以便识别复制何时完成.
除了这些问题,在移动平台上使用COuchDB的复制机制时还存在其他问题.尚未完全实施该实施以支持移动方案.因此,如果网络连接不稳定,我会挂起复制.此外,还有一种具有指数退避的重试机制,适用于服务器安装,但不适用于连接丢失是常规事件的移动平台.因此,一般情况下,您必须仔细决定是否已在此早期状态下使用移动CouchDB.也许你应该推迟你的决定,直到第一次官方GA发布(来自Couchbase的人宣布12月).
以上是大佬教程为你收集整理的使用2.0 API的Android上的Couchdb全部内容,希望文章能够帮你解决使用2.0 API的Android上的Couchdb所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。