PhoneGap Webos 3.0+ - PullRequest
       22

PhoneGap Webos 3.0+

0 голосов
/ 01 февраля 2012

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

кажется, что должно быть легко вызвать службу в webos, скажем, вот строка данных об изображении и записать ее в файловую систему из моего существующего приложения телефонной пробелы.и не нужно делать все в enyo.У кого-нибудь есть пример плагина для веб-сайтов, подобного этому, или вы знаете, куда мне указать?

спасибо tim

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

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

0 голосов
/ 01 февраля 2012

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

0 голосов
/ 01 февраля 2012

Mojo по-прежнему включен в сенсорной панели.Вы можете использовать те же функции вызова службы, что и PhoneGap.

...