2012-01-31 93 views
0

我有一個手機iOS應用程序,我移植到觸摸板上的webOS應用程序工作很好,除了我使用的一個iOS插件。它基本上將畫布數據保存到照片卷。從我對webos的理解中,我需要創建一個node.js服務並將數據寫入緩衝區,最後寫入文件系統,在論壇中有一個例子。然而,我無法弄清楚如何從我的phonegap應用程序調用所有這些。我相信我需要在我的index.html文件中具有以下內容。phonegap webos 3.0+

<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文件中包含所有「kind」數據。但我如何從我的應用程序的js文件中進行一小步與創建的服務進行通信。我查看了phonegap 1.0.js文件,發現他們正在以這種方式調用服務。

  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 
}); 

,但我也注意到了這一點看來,它是所有的魔力和我在做什麼是enyo,所以是的,我很困惑的時刻...

似乎應該很容易調用一個服務在webos中,這裏說的是一串圖像數據,並將其從我現有的phonegap應用程序寫入文件系統。而不必在enyo做所有事情。任何人都有這樣的webos插件的樣本,或知道在哪裏指向我?

感謝蒂姆

* *更新

我創建了一個節點服務現在如下定義,我認爲作品,我試圖撥打電話到服務,但它不去實現它。測試應用程序在我的觸摸板上運行,但是當我按下按鈕來保存圖像時,我沒有進入服務。我試圖按照phonegap0.0.1.js文件中相機的操作,這是我的服務的副本,我如何定義它以及如何調用它。任何想法我做錯了什麼。

services.json =

"id": "com.tim.pgmojo1.service", 
"description": "FileIO Service", 
"services": [ 
    { 
"name": "com.tim.pgmojo1.service", 
"description": "FileIO Service", 
"commands": [ 
    { 
     "name": "writefile", 
     "assistant": "WriteFileAssistant", 
     "public": true 
    }] 
    }] 
} 

* *服務代碼
變種文庫= MojoLoader.require({名: 「基礎」,版本: 「1.0」}); var fs = IMPORTS.require(「fs」); var sys = require('sys');

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); 
} 

我打電話給服務* *

this.service = navigator.service.Request( '掌://com.tim.pgmojo.service',{ 方法:「寫文件」, 參數:{

  thepath: '/media/internal/downloads/timimage.png', 
      thedata: canvasData 
    }, 
    onSuccess: mySuccess, 
    onFailure: myFailure 
}); 

目前,我有這在我的index.html文件,因爲它只是用於測試..

回答

0

Mojo仍然包含在觸摸板上。您可以使用與PhoneGap相同的服務調用功能。