问题标签 [touchdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
595 浏览

iphone - CocuchDB/TouchDB 是否旨在为 ios 应用程序提供离线/在线设置服务?

由于我对 CouchDB 的了解较少,我有点困惑。让我用简单的话解释一下。我正在开发一个 iphone 应用程序,我的客户可能会要求提供 android 版本。我使用 CouchDB 作为该应用程序的数据存储。

我们设计了一个后端,管理员可以在其中设置/更新信息。所有更新的信息都应复制到所有 iphone 设备。当我说从服务器复制到设备时,我并不是指从一个 iphone 设备复制到另一个设备。意味着更新的来源始终是服务器。

我的客户还希望如果可能的话,大部分功能都应该离线工作。为了使某些功能离线,客户端要求我使用 CouchDB 和 TouchDB(在 iphone 上),它们会自动同步。

根据我的说法,CouchDB 的设计目的不是为了达到这个目的,而是设计用于复制,这是分布式计算所需的,其中数据源不是一台服务器而是多台服务器。

使用 CouchDB/TouchDB 我面临很多问题。一个大问题是我的逻辑和 UI 实现是一起构建在我的 xcode 上的。如果明天我想开发 Android 应用程序,那么我必须在 android 语法中实现相同的逻辑。逻辑变化需要更新两个版本。如果客户明天要开发windows和BB版本,那就更令人沮丧了。

为了避免这种情况,我可以建议我的客户使用 3 层架构,我们将在其中构建一个中间件,并将我们的逻辑保留在那里。我们需要在应用程序级别开发的唯一工作是通过 WebService 从中间件获取数据并呈现 UI。

但在向我的客户提出建议之前,我想从专业知识中确认我的想法。我可能错了,因为我对 CouchDB 不太了解,也许 CouchDb 仅用于离线/在线设置。

请等待从专业知识到这里。

0 投票
1 回答
460 浏览

java - 如何在 ViewPager 后期调用 invalidate()

我正在使用 TouchDB 复制一个 DB 并在 ViewPager 中的一系列 ListView 中显示其内容。我遇到的问题是,在第一次复制时,TouchDB 在完成复制之前调用它的 onSuccess()/onPostExecute() 方法,这意味着我无法在 ViewPager 上调用 invalidate() 来让它绘制 ListViews。

有什么解决办法吗?

0 投票
2 回答
163 浏览

ios - Restkit + Rails API 还是 TouchDB + CouchDB?

你们中的任何人都知道哪种模型对于 iOS 云数据驱动的应用程序更简单?

Restkit + RESTful API 还是 TouchDB + CouchDB?

0 投票
1 回答
128 浏览

java - 如何在活动和片段之间共享 TouchDB 的实例?

目前我已经在我的主要活动中嵌入了一个 TouchDB 实例,现在已经达到了一个单独的片段需要访问它的地步,并且仅仅将数据从主要活动传递到其他活动是不够的。是否有推荐的方式在活动/片段之间共享相同的数据库实例?例如,在与我的应用程序类似的下图中,片段 b 需要访问数据库,但在手机上,它将附加到 Activity B 和平板电脑 Activity A(在我的情况下是主要活动)。

在此处输入图像描述

从我的主要活动中提取数据库实现并将其放入单例类是推荐的方式吗?或者在每个活动/片段中实例化并销毁数据库?如果后者是首选方法,我的理解是正确的,除了主要活动之外,最好在片段中实现数据库而不是它们的相关活动?

0 投票
4 回答
436 浏览

java - 从对象转换为列表: CastClassException

我在 Android 应用程序中使用带有 ektorp 的 TouchDB 来访问 CouchDB

我正在访问的 json 文档有一系列类别:

类别:['cat1','cat2']

在视图查询中,我尝试访问此数组,但在尝试将结果对象转换为列表时出现 ClassCastException:

.get()方法适用于单个 json 字段。有任何想法吗?

0 投票
1 回答
133 浏览

ios - Couchbase Lite iOS:CouchCocoa 的 unversionedURL 和 CouchbaseLite 的 bodyURL,它们是一样的吗?

我一直在为 iOS 应用程序开发 Couchbase-Lite(又名 TouchDB)。同时,我试图弄清楚 CBL 的新功能并面临以下问题:

@property (readonly) NSURL* bodyURL;//CBL附件

@property (readonly) NSURL* unversionedURL;//沙发附件

这些是一样的吗?如果没有,新 CouchbaseLite 中 unversionedURL替代方案是什么?

我是 TouchDB 的新手,感谢任何帮助。

0 投票
1 回答
98 浏览

c# - TouchDB 查询视图抛出 MarshalDirectiveException

我正在尝试在 C# 中使用 TouchDB 查询视图。我在这里使用了 TouchDB 和 MonoTouch 之间的绑定:https ://github.com/mono/monotouch-bindings/tree/master/Couchbase

当调用发出委托方法时,我得到一个“System.Runtime.InteropServices.MarshalDirectiveException”,说“传递给非托管代码的类型 MonoTouch.Foundation.NSObject 必须具有 StructLayout 属性。”

我在这里找到了这个错误报告:https ://bugzilla.xamarin.com/show_bug.cgi?id=4781这与我的问题类似,但自 2012 年 7 月 27 日以来没有任何更新。

这是我的测试代码:

有没有人用 MonoTouch 成功查询过 TouchDB 的视图?谢谢你的帮助

0 投票
4 回答
2975 浏览

couchbase - couchbase和couchbase lite之间的区别?[以前称为 touchDB]

什么是 Couchbase,什么是 Couchbase Lite?
两者有什么区别吗?
如何在移动设备中创建 Couchbase lite 以及如何与服务器通信?

0 投票
1 回答
765 浏览

ios - 连续复制与一次性复制的成本(使用 TouchDB 和 Cloudant)

我们有一个使用 Cloudant 作为远程服务器的应用程序。尽管如此,Cloudant 与以往经验中的 TouchDB 连续复制并不完全兼容。因此,我们目前的替代方案是以固定频率手动触发一次性复制。尽管如此,我们想知道这种方法是否会比连续复制花费更多的钱,因为连续复制使用 longpoll 并且不需要经常查询服务器。换句话说,以 Cloudant 为目标的一次性拉取复制是否会花费我们一个 GET 请求?

谢谢你,保罗

0 投票
2 回答
11574 浏览

android - Gradle:在根项目“myProject”中找不到项目“x”

从 Eclipse 升级到 Android Studio 后,我想更新我的 TouchDB 库,现在是Coubasebase-lite-android。我从我的项目中删除了 TouchDB,git cloned couchbase-lite-android 通过 File -> Import Module 添加到我在 Android Studio 中的项目中。

IDE 中的一切看起来都很好,所有的引用看起来都很好。但是当我尝试编译它时,我在 Android Studio 中收到错误:Gradle: Project "x" not found in root project "myProject" “x”是 couchbaselite 中的每个模块(?)...即 CBLite、CBLiteEktrop 等

我真的不知道从哪里开始?

这是我的项目树:

这是gradlew来自 CouchBaseLiteProject 的内容:

` myProject 下没有 gradlew 文件,因为它最初是一个 Eclipse 项目

根据 buzeeg 的建议进行更新 ,并且无法从 Eclipse 导出我的项目以生成 gradle 文件我决定在 Android Studio 中创建一个新项目并将我的原始项目文件手动复制到其中,因此 Android Studio 将为我。

在将 couchbase-lite-android 作为模块导入并尝试构建项目后,我得到了与最初遇到的完全相同的错误。Gradle: Project "x" not found in root project "myProject""x" 与 CouchbaseLiteProject 树下的所有子模块 (?) 相关...