PhoneGap Webos 3.0+

У меня есть приложение iOS для телефона, которое я портировал на webos на тачпаде, приложение прекрасно работает, за исключением одного плагина iOS, который я использовал. это в основном сохранило данные холста в фотопленку. Из моего понимания webos мне нужно будет создать сервис node.js и записать данные в буфер и, наконец, в файловую систему, на форумах есть пример для этого. однако, что я не могу понять, это как вызвать все это из моего приложения phonegap. Я считаю, что мне нужно иметь следующее в моем файле index.html.

    <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 моего приложения, чтобы связаться с созданной службой. Я посмотрел в файле 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, скажем, вот строка данных изображения и записать ее в файловую систему из моего существующего приложения телефонной пробелы. и не нужно делать все в enyo. У кого-нибудь есть образец плагина для веб-сайтов, подобного этому, или знаете, куда мне указать?

спасибо тим

** Обновление

Теперь я создал службу узла, как определено ниже, я думаю, что это работает, и я пытаюсь сделать вызов службе, но она не доходит до него. тестовое приложение работает на моей сенсорной панели, но когда я нажимаю кнопку, чтобы сохранить изображение, я не попадаю в сервис. Я попытался проследить, что было сделано для камеры в файле 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
    }]
  }]
}

** сервисный код
var library = MojoLoader.require({ name: "foundations", версия: "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 ('palm: //com.tim.pgmojo.service', {method: 'writefile', параметры: {

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

В настоящее время у меня есть это в моем файле index.html, так как это только для тестирования..

2 ответа

Моджо все еще включен в TouchPad. Вы можете использовать те же функции вызова сервисов, что и PhoneGap.

В Enyo доступ к службам на устройстве обрабатывается видом enyo.PalmService. Вы можете увидеть пример приложения с включенной службой node.js и способами звонков на эту службу по адресу https://github.com/palm/txjs-fortunecookie

Другие вопросы по тегам