BlackBerry-Plugins
Diese Anleitung zeigt, wie ein Echo-Plugin auf BlackBerry zu entwickeln. Die Plugin-Entwicklung-Guide bietet einen umfassenden Überblick, mit dem Sie bereits vertraut sein sollten, und dieser Anleitung nimmt wo es aufhört. Darüber hinaus das Cordova BlackBerry-Repository herunterladen.
Das Cordova-BlackBerry
Projekt können Sie an BlackBerry-Geräte wie die Fackel, kühn und Playbook bereitstellen. Dem Textbuch verwendet einen anderen Code base als andere BlackBerry-handheld-Geräte, für die Sie benötigen, um Ihre Entwicklungsprojekte zu duplizieren. Dieses Handbuch konzentriert sich auf die handheld-Geräte eher als Tabletten. (In der Zukunft sollte diesem Handbuch beide Plattformen behandelt.)
Das Echo-Plugin im wesentlichen zurückgibt welcher Nachricht ein Benutzer bietet die window.echo
Funktion:
window.echo = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "Echo", "echo", [str]);
};
Ändern von plugins.xml
Des Projekts www/plugins.xml
Verzeichnis enthält alle erforderlichen Verweise zu Ihrem Cordova-Projekt-Plugins. Fügen Sie zusätzliche Referenz also, dass bei cordova.exec
ist aufgerufen, Cordova weiß, wie man die Karte der Echo
Argument der cordova.exec
zu der Echo
-Klasse, die wir nativ schreiben möchten:
<feature name="Echo">
<param name="blackberry-package" value="org.apache.cordova.echo.Echo" />
</feature>
Hinzufügen von Echo.java
Wenn Sie bemerken, dass die Struktur des Value-Attributs, sehen Sie einen definierten Pfad, der zu den Echo-Plugin führt. Suchen Sie im Root-Verzeichnis von Cordova BlackBerry WebWorks-Repo, ein Verzeichnis namens framework
. Dieses Verzeichnis enthält alle des Quellcodes, die nativ auf dem BlackBerry ausgeführt wird. Navigieren Sie zu framework/ext/src/org/apache/cordova
. An dieser Stelle sehen Sie alle Plugin-Verzeichnisse, die innerhalb derer der Source Code ist. So fügen Sie das Verzeichnis-Echo, framework/ext/src/org/apache/cordova/echo
und erstellen Sie eine Datei namens Echo.java
anframework/ext/src/org/apache/cordova/echo/Echo.java
.
Schreiben Echo.java
Die Grundidee hinter eine Plugin zu schreiben ist, erstellen Sie eine Klasse, die die Plugin-Klasse erweitert und haben eine Methode namens execute
wieder eine PluginResult
Klasse. Jeder Aufruf von cordova.exec
übergibt die Aktion innerhalb der Klasse als auch die Argumente ausgeführt. In diesem Fall ist "Echo", die Aktion, die wir innerhalb der Klasse "Echo" und [str] ausführen möchten sind die Argumente, die wir in übergeben.
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;
}
}
Also wenn wir den obigen Code betrachten, können wir sehen, dass innerhalb der Execute-Methode, suchen wir zuerst was Aktionen kommen. Das Echo-Plugin hat nur eine Aktion, echo
, so dass wir nur dafür prüfen werden wird. Hätte unser Plugin mehr Aktionen, ist es einfach eine Frage der hinzufügen weitere bedingte Tests checken für diese Aktionen.
Wir werden dann die Nachricht aus den Argumenten zu greifen, der durch den Parameter Args geliefert wird. Wir können das erste Argument greifen, indem Sie einfachString theMsg = args.getString(0);
.
Werden wir einige Fehlerüberprüfung und wenn die Nachricht gut aussieht, werden wir eine neue PluginResult mit einem Status ok instanziieren: PluginResult.Status.OK
und die Meldung: theMsg
. Danach wir das Ergebnis zurückgegeben, um zurück zu JavaScript im Erfolg Rückruf ausgelöst werden übergeben werden. Wenn etwas fehlschlägt, können wir verschiedene Status-Ausnahmen wie zurück PluginResult.Status.ERROR
, PluginResult.Status.JSON_EXCEPTION
, oder PluginResult.Status.INVALID_ACTION
. Wenn wieder übergeben, Feuer diese Ergebnistypen den Fail-Rückruf in JavaScript.
Aktualisierung der .jar in Ihrem Projekt Www-Verzeichnis
Die zusätzlichen Echo.java
in Ihrem Projekt aktualisiert werden muss. Baut die .jar
Datei, navigieren Sie zu dem BlackBerry WebWorks-Repo-Root-Verzeichnis, und führen Sie den ant
Befehl:
Ameise update - Dproject.path="~/path_to_my_project"
Dies baut eine neue .jar
Datei das build/ext
Verzeichnis. Kopie der build/ext/cordova.jar
-Datei in Ihr project/www/ext
Verzeichnis.
Wenn alles gut geht, ermöglicht, die Echo-Plugin in BlackBerry zu verwenden.