我正在使用phonegap创建我的移动应用程序。
我决定使用Couchbase来存储数据;但我不知道我是否必须使用Couchbase移动设备,或者我可以将我的应用程序(javascript)直接与Couchbase服务器连接,以及如何“查询”我的. net应用程序。
我已经在我的系统上下载了couchbase服务器,但如何将其与我的应用程序连接?
我可以使用N1QL“查询”服务器吗。NET也使用phonegap?(因为couchbase mobile不支持n1ql)。
我可以只调用使用. NET或JAVA完成的rest Web服务,但是否需要将Couchbase mobile添加到应用程序中?
这是C#Couchbase移动留档的查询:
var document = database.CreateDocument();
var properties = new Dictionary<string, object>()
{
{"type", "list"},
{"title", "title"},
{"created_at", DateTime.UtcNow.ToString ("o")},
{"owner", "profile:" + userId},
{"members", new List<string>()}
};
var rev = document.PutProperties(properties);
Debug.Assert(rev != null);
我怎么称呼它?
这是服务器文档中的查询(前一个是在mobile中):
var doc = new Document<dynamic>{ Id = "document_id", Content = new {Some="value"} };
var result = bucket.Insert(doc);
Console.WriteLine(JsonConvert.SerializeObject(result.Document));
为什么它们不同?
这是将服务器连接到phonegap的功能:
var DB_NAME = 'todo';
function initRESTClient(url) {
var client = new SwaggerClient({
spec: window.spec,
usePromise: true,
})
.then(function (client) {
client.setHost(url);
if (device.platform == 'android') {
var encodedCredentials = "Basic " + window.btoa(url.split('/')[1].split('@')[0]);
client.clientAuthorizations.add("auth", new SwaggerClient.ApiKeyAuthorization('Authorization', encodedCredentials, 'header'));
}
client.server.get_all_dbs()
.then(function (res) {
var dbs = res.obj;
if (dbs.indexOf(DB_NAME) == -1) {
return client.database.put_db({db: DB_NAME});
}
return client.database.get_db({db: DB_NAME});
})
.then(function (res) {
return client.document.post({db: DB_NAME, body: {title: 'Couchbase Mobile', sdk: 'PhoneGap'}});
})
.then(function (res) {
console.log('Document ID :: ' + res.obj.id);
})
.catch(function (err) {
console.log(err);
});
});
}
抱歉,如果我有点困惑,但我需要一些高层次的澄清,以开始编码。
关于你的问题,为什么。Net版本的移动和服务器查询不同-
>
Mobile版本调用Couchbase Lite,它是用于移动客户端平台的嵌入式非关系型数据库。该数据库嵌入在您的移动/桌面客户端中,并通过同步网关定期与云中的Couchbase Server同步。因此,您通常会在Windows移动应用程序中实现这一点。您也可以在桌面客户端应用程序中实现这一点。
服务器版本-在这种情况下,您将使用. Net SDK对Couchbase服务器进行查询。您可以在后端的. Net Web服务应用程序中实现这一点。您可以用任何受支持的语言实现后端Web服务,包括Java。
如果您正在考虑Phonegap,您可能需要参考本教程。这使用swagger客户端与Couchbase Lite集成-没有原生JS API,因此使用基于swagger的客户端。Couchbase Lite通过同步网关与Couchbase服务器同步。
高级:您需要设备上的Couchbase mobile和服务器上的Couchbase Server(云端或本地)。要在移动设备和服务器之间推送/拉取数据,您需要运行Couchbase同步网关(云端或本地)。更多信息可在Couchbase Mobile Portal for Developers获得。
我在使用cordova并将其应用于Phonegap构建。虽然PGB告诉我我使用的是一个旧版本,但它还是起作用了——我无法更改那里的设置。 我已经升级到科尔多瓦4现在,一个版本的PGB显然不支持。 那么,它们有不同的生命周期?它们是否使用相同的版本号?如果要使用phonegap构建,是否应该停止使用cordova并开始使用phonegap cli?
比如说,Phonegap的大多数演练都指示初学者同时安装Phonegap和Cordova。下载和安装phonegap和cordova有什么意义?既然phonegap是cordova的发行版,为什么不下载并安装其中一个呢?
问题内容: 我正在尝试在Java Server上上传图像。文件正在从android设备传输,但在server上保存了null。 这是服务器代码 这是我的电话间隙代码 04-14 19:33:46.010:E / FileTransfer(13550):java.io.FileNotFoundException:http:/// jeeyoh / mobile / userService / f
问题内容: 更新1: 这就是我最后所做的一切: 那不是必需的吗? 原始问题: 在我的Ubuntu 12.04计算机上,我刚刚使用npm和cordova安装了node.js: 当我尝试添加android时: 我得到以下输出: 有人知道为什么会发生这种情况以及如何解决吗? 我在PhoneGap上遇到了同样的问题。 问题答案: Android工具二进制文件可能不在您的路径中。 根据PhoneGap文档(
我在启动和运行phonegap windows phone应用程序时遇到问题。(PhoneGap 3.1.0-在windows 8计算机上) 我已经按照步骤操作,因此从“Windows Phone命令行工具”创建了一个Windows Phone应用程序。它说使用CordovaWP7xxx.zipCordovaWP8xxx.zip创建一个模板,您可以从中创建一个应用程序。在最新的3.1.0版本的电话
phonegap/cordova的文档非常糟糕。我只想在Windows环境中安装PhoneGap 3.0,但没有成功。 下面是我的步骤和失败点。有人能就解决方案提出建议吗? 根据说明: 安装Node.js(成功) 从nodes.js:(SUCCESSFUL) 添加平台:(什么都没发生) 尝试phonegap:(找不到ERROR项目目录) 来自“Windows Phone 8平台指南” 安装Wind