首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phonegap webos 3.0+

phonegap webos 3.0+
EN

Stack Overflow用户
提问于 2012-01-31 22:42:08
回答 2查看 573关注 0票数 0

我有一个phonegap iOS应用程序,我把它移植到触摸屏上的webos上,除了我使用的一个iOS插件之外,这个应用程序工作得很好。它基本上将画布数据保存到照片卷中。根据我对webos的理解,我需要创建一个node.js服务,并将数据写入缓冲区,最后写入文件系统,这在论坛中有一个例子。然而,我不知道如何从我的phonegap应用程序调用所有这些。我相信我需要在我的index.html文件中有以下内容。

代码语言:javascript
复制
    <script src="/opt/PalmSDK/Current/share/framework/enyo/1.0/framework/enyo.js" type="text/javascript"></script>

and something like
    enyo.create({kind: "Main"}).renderInto(document.body);    

我猜我还必须在js文件中拥有所有的“类”数据。但是,我如何从应用程序的js文件中迈出一小步,与创建的服务进行通信。我查看了PhoneGap1.0.js文件,发现它们正在以这种方式调用服务。

代码语言:javascript
复制
            this.service = navigator.service.Request('palm://com.palm.applicationManager', {
    method: 'launch',
    parameters: {
    id: 'com.palm.app.camera',
    params: {
            appId: 'com.palm.app.camera',
            name: 'capture',
            sublaunch: true,
            filename: filename
        }
    },
    onSuccess: successCallback,
    onFailure: errorCallback
}); 

但我也注意到这一切似乎都是莫名其妙,而我现在所做的是恩约,所以是的,我现在很困惑。

似乎在webos中调用服务应该很容易,比如这里有一串图像数据,并从我现有的phonegap应用程序中写入文件系统。而不必在恩约做任何事。有人有像这样的webos插件的示例,或者知道该在哪里指点我?

谢谢蒂姆

**最新情况

我现在已经创建了一个节点服务,如下所定义的,我认为它可以工作,我正在尝试调用该服务,但它没有到达它。测试应用程序运行在我的触摸屏上,但是当我按下按钮来保存图像时,我就没有进入这个服务。我试着跟踪在phegap0.0.1.js文件中对摄像机所做的操作--这是我的服务的一个副本,我是如何定义它的,以及我是如何调用它的。我做错了什么。

services.json =

代码语言:javascript
复制
"id": "com.tim.pgmojo1.service",
"description": "FileIO Service",
"services": [
  {
"name": "com.tim.pgmojo1.service",
"description": "FileIO Service",
"commands": [
    {
      "name": "writefile",
      "assistant": "WriteFileAssistant",
      "public": true
    }]
  }]
}

**服务代码

代码语言:javascript
复制
 var libraries = MojoLoader.require({ name: "foundations", version: "1.0" });     var fs = IMPORTS.require("fs");     var sys = require('sys');
代码语言:javascript
复制
var WriteFileAssistant = function() {}

WriteFileAssistant.prototype.run = function(future) {
 var mypath = this.controller.args.thepath;
 var mydata = this.controller.args.thedata;
 console.log("in write file");
 console.log("path=" + thepath);
 console.log("image data=" + thedata);

 var data = content.replace(/^data:image\/\w+;base64,/, "");
 var buf = new Buffer(data, 'base64');
 fs.writeFile('/media/internal/downloads/timimage.png', buf);
}

我对服务的调用**

navigator.service.Request('palm://com.tim.pgmojo.service',{ this.service =this.service{方法:‘写文件’,参数:{

代码语言:javascript
复制
            thepath: '/media/internal/downloads/timimage.png',
            thedata: canvasData
    },
    onSuccess: mySuccess,
    onFailure: myFailure
}); 

目前,我的index.html文件中有这个,因为它只用于测试。

EN

回答 2

Stack Overflow用户

发布于 2012-02-01 00:56:25

Mojo仍然包含在TouchPad中。您可以使用与PhoneGap相同的服务调用函数。

票数 0
EN

Stack Overflow用户

发布于 2012-02-01 15:28:59

在Enyo中,对在线设备服务的访问由enyo.PalmService类处理.您可以看到一个包含node.js服务的应用程序的示例,以及如何在https://github.com/palm/txjs-fortunecookie上调用该服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9088132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档