Что-то такой длительный перерыв получился со скринкастами.

В этот раз видео будет о разработке для Palm webOS.

Что из видео можно узнать

  • Как установить все необходимое ПО для разработки
  • Настроить Eclipse для разработки webOS приложений
  • Создать минимальное приложение
  • Добавить новую форму в приложение
  • Написать обработчик нажатия кнопки

Описание последовательности действий:

  • Устанавливаем Apple Safari
  • Устанавливаем VirtualBox
  • Устанавливаем Java Runtime Environment
  • Устанавливаем webOS SDK
  • Распаковываем Eclipse
  • Запускаем Eclipse
  • В Help -> Install New Software добавляем URL для загрузки плагина, необходимого для разработки webOS приложений ( https://cdn.downloads.palm.com/sdkdownloads/1.1/eclipse-plugin/eclipse-3.4/site.xml )
  • Устанавливаем плагин
  • Создаем минимальное приложение
  • Запускаем webOS эмулятор
  • С помощью меню Run As… запускаем приложение в эмуляторе
  • Командой “palm-generate -t new_scene -p "name:First" HelloWorld” создаем новый view в приложении
  • Меняем шаблон нового view’а
  • Делаем так, чтобы новый view запускался при старте приложения
  • Дописываем обработчик нажатия кнопки
  • Дописываем метод инициализации view’а и привязываем в нем обработчик кнопки

Загрузки:

Внимание!!! Видео в разрешении 1280×800 – Смотреть лучше в полноэкранном режиме.

Previous ArticleNext Article
Технический директор IT-Dimension, компании-разработчика кросс-платформенного программного обеспечения

Leave a Reply

Your email address will not be published. Required fields are marked *

С.

Средства разработки для Palm webOS можно попробовать уже сейчас

Ну наконец-то Palm дает возможность разработчикам попробовать в работе раннюю версию SDK для разработки под webOS для устройств Palm Pre. Вчера они анонсировали кампанию под названием Palm Mojo SDK early access program, в рамках которой можно получить средства разработки и доступ к порталу разработчиков для Palm webOS.

Для участия в программе необходимо заполнить форму. Я уже заполнил, жду подтверждения. Судя по вебкасту, довольно интересная платформа.

К.

Как сделать телефонный звонок из приложения в Palm WebOS

Для того чтобы сделать телефонный звонок из приложения в Palm WebOS есть только один способ – вызвать приложение Phone (стандартную звонилку) с помощью Application Manager. Пользователь обязательно должен подтвердить выполнение звонка, нажав кнопку дозвона. Выполнить звонок без подтверждения, возможности нет.

В API предусмотрена возможность запуска приложения дозвона с предварительной установкой телефонного номера, а также возможность запуска без установки параметров. Как использовать это API – смотрим ниже:

Для начала создадим приложение и в нем сцену с названием Call. Как создать приложение и сцену в нем, можно узнать здесь.

app/views/call/call-scene.html

<div class="palm-group">
  <div class="palm-group-title">Phone number</div>
  <div class="palm-row">
    <div class="palm-row-wrapper textfield-group" x-mojo-focus-highlight="true">
      <div class="title">
        <div class="label">Number</div>
        <div id="PhoneNumber" x-mojo-element="TextField"></div>
      </div>
    </div>
  </div>
</div>
<div id="DialerButton" x-mojo-element="Button"></div>
<div id="CallButton" x-mojo-element="Button"></div>
<div id="ExitButton" x-mojo-element="Button"></div>

Наша сцена содержит группу, в которой находится текстовое поле, а также три кнопки:

  • Кнопку запуска приложения дозвона без параметров
  • Кнопку запуска приложения дозвона с предустановленным номером (для завершения звонка необходимо нажать кнопку дозвона)
  • Кнопку для выхода из приложения.

app/assistants/call-assistant.js

function CallAssistant() {
}

CallAssistant.prototype.setup = function() {
    this.controller.setupWidget("PhoneNumber",
    {
        modelProperty: 'originalValue'
    },
    this.phoneNumberTextModel =
    {
        originalValue: ''
    });
    this.controller.setupWidget("DialerButton", {}, {label:"Launch dialer"});
    this.controller.setupWidget("CallButton", {}, {label:"Call"});
    this.controller.setupWidget("ExitButton", {}, {label:"Exit"});
}

После запуска приложение у нас должно получиться что-то подобное:
WebOS Dialer Sample

Теперь посмотрим как можно запустить приложение дозвона без параметров:

CallAssistant.prototype.handleDialerButton = function(event) {
    this.controller.serviceRequest('palm://com.palm.applicationManager',
    {
        method:'launch',
        parameters:
        {
            id:"com.palm.app.phone"
        }
    });
}

Мы вызываем метод launch сервиса Application Manager и указываем ему уникальный идентификатор приложения дозвона.

Теперь посмотрим как при запуске приложения дозвона можно указать телефонный номер:

CallAssistant.prototype.handleCallButton = function(event) {
    if (this.phoneNumberTextModel.originalValue.length < 7) {
        this.controller.showAlertDialog(
        {
            onChoose: function(value){},
            title: 'Error',
            message: 'Phone number should contain at least 7 digits',
            choices: [{label:'OK'}]
        });
        return;
    }
    this.controller.serviceRequest("palm://com.palm.applicationManager",
    {
        method : 'open',
        parameters:
        {
            target: "tel://" + this.phoneNumberTextModel.originalValue
        }
    });
}

Для начала, перед запуском мы проверяем длину значения в текстовом поле. Если она меньше 7ми символов, то выводим уведомление об ошибке.
Для запуска приложения дозвона мы используем метод open сервиса Application Manager и в качестве параметра скармливаем ему объект, свойство target которого содержит телефонный номер и префикс “tel://”.

Не забываем, также, что для всех кнопок нужно регистрировать обработчики в методе setup() и отключать их в методе сleanup().

CallAssistant.prototype.setup = function() {
...
    Mojo.Event.listen(this.controller.get("DialerButton"),
        Mojo.Event.tap, this.handleDialerButton.bind(this));
    Mojo.Event.listen(this.controller.get("CallButton"),
        Mojo.Event.tap, this.handleCallButton.bind(this));
    Mojo.Event.listen(this.controller.get("ExitButton"),
        Mojo.Event.tap, this.handleExitButton.bind(this));
}

CallAssistant.prototype.handleExitButton = function(event) {
    this.controller.stageController.getAppController().closeAllStages();
    window.close();
}

CallAssistant.prototype.cleanup = function(event) {
    Mojo.Event.stopListening(this.controller.get("DialerButton"),
        Mojo.Event.tap, this.handleDialerButton.bind(this));
    Mojo.Event.stopListening(this.controller.get("CallButton"),
        Mojo.Event.tap, this.handleCallButton.bind(this));
    Mojo.Event.stopListening(this.controller.get("ExitButton"),
        Mojo.Event.tap, this.handleExitButton.bind(this));
}

После всех проделанных действий, после нажатия на кнопку Call, получим что-то вроде этого:

WebOS Phone Application GUI

На этом все.

Скачать исходный код приложения.