BlackBerry плагины

В этом руководстве показано, как разработать эхо плагин на ежевике. Руководство по разработке плагин обеспечивает широкий обзор, с которой вы уже должны быть знакомы, и это руководство забирает где он листья. Кроме того Скачайте Cordova BlackBerry репозитория.

Cordova-BlackBerryПроект позволяет развернуть к приборам ежевики как факел, полужирный и пьес. Playbook использует другой код базы чем других портативных устройств BlackBerry, для которых необходимо дублировать ваши усилия в области развития. В этом руководстве основное внимание на портативные устройства, а не таблетки. (В будущем, это руководство должны охватывать обе платформы).

Эхо плагин по существу возвращает все сообщения пользователя предоставляет window.echo функции:

window.echo = function(str, callback) {
    cordova.exec(callback, function(err) {
        callback('Nothing to echo.');
    }, "Echo", "echo", [str]);
};

Изменение plugins.xml

Вашего проекта www/plugins.xml Каталог содержит все необходимые ссылки на проекте Cordova плагины. Добавить дополнительные ссылки так что когда cordova.exec это называется, Кордова знает как сопоставить Echo аргумент cordova.exec для Echo класс, который мы хотим написать изначально:

<feature name="Echo">
    <param name="blackberry-package" value="org.apache.cordova.echo.Echo" />
</feature>

Добавление Echo.java

Если вы заметили структуры атрибута value, вы увидите определенный путь, что приводит к эхо плагин. В корневом каталоге Cordova BlackBerry WebWorks репо, найдите каталог, называемый framework . Этот каталог содержит весь исходный код, который изначально работает на ежевике. Перейдите к framework/ext/src/org/apache/cordova . На данный момент вы увидите все плагин directorys, внутри которого содержится исходный код. Так что добавьте каталог эхо для framework/ext/src/org/apache/cordova/echo и создайте файл с именем Echo.java вframework/ext/src/org/apache/cordova/echo/Echo.java.

Написание Echo.java

Основная идея написания плагина является создание класса, который расширяет плагин класс и метод, называемый execute вернуться PluginResult класс. Любой звонок, сделанный в cordova.exec проходит в действие для выполнения в пределах класса, а также аргументы. В этом случае «эхо» являются действия, мы хотим выполнять в пределах класса «Эхо» и [силы] аргументы, которые мы проходим в.

package org.apache.cordova.echo;

import org.apache.cordova.api.Plugin;
import org.apache.cordova.api.PluginResult;
import org.apache.cordova.json4j.JSONArray;
import org.apache.cordova.json4j.JSONException;
import org.apache.cordova.json4j.JSONObject;
/**
 * A simple plugin to demonstrate how to build a plugin for BlackBerry
 * Basically echos back the msg that a user calls to this plugin
 */
public final class Echo extends Plugin {

    public static final String echo = "echo";

    public PluginResult execute(String action, JSONArray args, String callbackId) {
        PluginResult result = new PluginResult(PluginResult.Status.INVALID_ACTION, "Echo: Invalid action:" + action);
        if(action.equals(echo)){
            try {
                String theMsg = args.getString(0);
                if(theMsg!= null || theMsg.length()>0){
                    result = new PluginResult(PluginResult.Status.OK, theMsg);
                }else{
                    result = new PluginResult(PluginResult.Status.ERROR, "Nothing to echo.");
                }
            } catch (JSONException e) {
                result = new PluginResult(PluginResult.Status.JSON_EXCEPTION, e.getMessage());
            }
        }

        return result;
    }

}

Так что если мы посмотрим на приведенный выше код, мы видим, что в методе execute, мы сначала ищет то, что действия идут в. Эхо плагин имеет только одно действие, echo , поэтому мы будем только проверять для этого. Если наш плагин больше действий, это просто вопрос добавления более условной тесты для этих действий.

Затем мы будем захватить сообщения, поступающие из аргументов, которая поставляется параметр args. Мы можем взять первый аргумент, просто делатьString theMsg = args.getString(0);.

Мы сделаем некоторые проверки ошибок и если сообщение выглядит нормально, мы будет создан экземпляр нового PluginResult со статусом ОК: PluginResult.Status.OK и вернуть сообщение: theMsg . После этого мы вернуть результат который быть передан обратно в JavaScript, чтобы быть уволены в успех обратного вызова. Если что-то не удается, мы можем вернуть различные состояния исключения, как PluginResult.Status.ERROR , PluginResult.Status.JSON_EXCEPTION , или PluginResult.Status.INVALID_ACTION . При передаче обратно, эти типы результатов огонь сбой обратного вызова в JavaScript.

Обновление .jar в www каталоге вашего проекта

Добавил Echo.java необходимо обновить в проекте. Для создания .jar файла, перейдите к BlackBerry WebWorks репо корневой каталог и запустить ant команду:

муравей обновление - Dproject.path="~/path_to_my_project»

Это создает новый .jar файл в build/ext каталог. Копия build/ext/cordova.jar файл в ваш project/www/ext каталог.

Если все пойдет хорошо, что позволяет использовать плагин эхо в BlackBerry.