JavaIDEdroid

Was ist JavaIDEdroid?
Einstieg
Projekte verwalten
BeanShell Skripts
Tools Reiter
Verwendung aus anderen Anwendungen
Debugging
Rechtliches

1. Einleitung

JavaIDEdroid (im Folgenden die "APP" genannt) ist eine integrierte Softwareentwicklungsumgebung (IDE), welche auf Android Geräten läuft und es ermöglicht, native Android Anwendungen zu erstellen, ohne den Android SDK auf Windows oder Linux verwenden zu müssen. Der IDE ist auf Android 2.3.3 oder höher lauffähig.

Es gibt eine freie Version und eine PRO Version der APP. Die PRO Version hat Funktionsmerkmale, welche das Entwickeln viel einfacher und effizienter machen.

Autor:Tanapro GmbH (Tom Arn), www.tanapro.ch
Projekt Webseite
und Support:
http://code.google.com/p/java-ide-droid/

Zurzeit sind folgende Tools in die APP integriert:

top

2. Einstieg

Um mit der APP arbeiten zu können, gehen Sie wie folgt vor:

  1. APP installieren
  2. Kopieren Sie die Android SDK Klassen (android.jar) vom Android SDK auf Ihre Speicherkarte. Für einige API Levels, finden Sie die android.jar Datei auch im Download Bereich der JavaIDEdroid Projekt Webseite
  3. Definieren Sie "Entwicklungs-Stammverzeichnis" und "Voller Pfad zu android.jar" in den Einstellungen
  4. Erstellen Sie Ihr erstes Projekt

top

3. Projekt Verwaltung (nur PRO Version)

In der PRO Version können Sie Software Projekte definieren und verwalten. Das Projekt Menü weist folgende Einträge auf:

top

3.1 Neues Projekt erstellen

Sie können zu einem Projekt folgende Informationen erfassen:

Nachdem Sie das Projekt-Stammverzeichnis definiert haben, können Sie die Schaltfläche 'Projekt Dateien erstellen aus Vorlage' anwählen, und die APP erstellt aus der gewählten Vorlagedatei ein Projekt-Skelett für Sie. Die Vorlage HelloWorld wird automatisch aus dem App-Paket extrahiert, wenn sie auf der Speicherkarte nicht gefunden wird. Sie können den Inhalt der Vorlagedatei auf ihre Bedürfnisse anpassen und/oder eigene Vorlagen ergänzen.
Um nicht unbeabsichtigt bestehende Daten zu überschreiben, darf das Projekt-Stammverzeichnis noch NICHT existieren, wenn Sie die Schaltfläche anwählen. Wenn Sie also die Durchsuchen-Schaltfläche verwenden, müssen Sie das letzte Verzeichnis von Hand eingeben.

Wenn Sie die 'Speichern' Schaltfläche anwählen, werden die projekt-spezifischen Informationen im Projekt-Stammverzeichnis in die Projekt Definitionsdatei (.jip Datei) gespeichert. Der Pfad des Projekt-Stammverzeichnisses wird nicht in der .jip Datei gespeichert. Wenn Sie eine .jip Datei öffnen, wird das Projekt-Stammverzeichnis aufgrund des Speicherorts der .jip Datei gesetzt. Auf diese Weise bleibt Ihr Projektbaum portabel. Wichtig hierbei ist, dass Sie die .jip Datei niemals manuell aus dem Projekt-Stammverzeichnis hinaus verschieben, sonst setzt die APP dann ein falsches Projekt-Stammverzeichnis für dieses Projekt!

top

3.2 Projekt öffnen

Sie können ein Projekt öffnen, indem Sie Ihren Entwicklungsbaum durchsuchen und eine .jip Datei auswählen. Schneller geht es, wenn Sie ein Projekt aus dem Verlauf (siehe unten) anwählen, um ein kürzlich geöffnetes Projekt zu öffnen. Nach dem Öffnen des Projektes wird im 'Projekt' Reiter der Projekt-Dateimanager angezeigt.

top

3.2.1 Projekt-Dateimanager

Mit dem Projekt-Dateimanager können Sie alle Dateien des Projektes anzeigen und bearbeiten. Wenn Sie eine Datei lange drücken wird ein Kontextmenü mit folgenden Einträgen angezeigt:

Die Schaltfläche 'Verzeichnis Liste' erlaubt einen schnellen Wechsel innerhalb der Projekt Unterverzeichnisse. Wenn Sie ein Verzeichnis lange drücken wird ein Kontextmenü mit folgenden Einträgen angezeigt:

top

3.3 Projekt Verlauf

Sie können ein kürzlich verwendetes Projekt öffnen, indem Sie es im 'Verlauf' anwählen. Der Verlauf wird jedes Mal aktualisiert, wenn Sie ein Projekt speichern oder öffnen. Der Verlauf ist anhand der letzten Verwendung sortiert, wobei das zuletzt verwendete Projekt im Verlauf zuoberst ist.

top

3.4 Projekt kompilieren und erstellen

Wenn Sie im Projektmenü die Einträge für das Kompilieren oder Erstellen des Projektes anwählen, wird das Standard BeanShell Skript /sdcard/.JavaIDEdroid/versionCode/compile.bsh oder /sdcard/.JavaIDEdroid/versionCode/build.bsh gestartet. Diese Skripts funktionieren für fast alle möglichen Projekte, weil sie auf die projekt-spezifischen Informationen des aktuell geöffneten Projektes zugreifen können. Sie können die Standard-Skripts auf Ihre Bedürfnisse anpassen.

Wenn Sie ein Projekt haben, welches nicht mit den Standard-Skripts kompiliert/erstellt werden kann, können Sie die Standard-Skripts in das Projekt-Stammverzeichis kopieren und dort für das Projekt anpassen. Wenn Sie die Menüeinträge für Kompilieren oder Erstellen anwählen, wird die APP dann die projekt-spezifischen Skripts anstelle der Standard-Skripts verwenden.

Wenn Ihre APP externe Java Libraries (*.jar) enthält, die zu gross sind und beim Dexen eine out-of-memory-exception verursachen, dann können Sie diese Libraries auf Ihrem PC dexen und dann in das dexlibs Unterverzeichnis Ihres Projekt`s bin Verzeichnis auf Ihrem Android Gerät kopieren. Verwenden Sie auf Ihrem PC folgenden Befehl, um beispielsweise ecj.jar zu dexen:
dx.bat --dex --output=dexlibs\ecj.jar.dex.zip libs\ecj.jar
Beachten Sie, dass Ihre dex Libraries die Extension .jar.dex.zip haben, sonst kann das Standard Skript zum Erstellen die dex Libraries nicht korrekt zusammenfügen. Wenn das Skript ecj.jar.dex.zip findet und diese Datei neuer ist als ecj.jar, dann wird es nicht versuchen sie zu dexen, wodurch die out-of-memory-exception vermieden werden kann.

top

3.5 Projekt APK installieren

Wenn Sie die Menüoption 'Projekt APK installieren' auswählen, wird die APK Datei dem Paketmanager zur Installation übergeben und auf Ihr Gerät installiert.

top

4. BeanShell

Mit dem integrierten BeanShell Interpreter können Sie BeanShell Skripts ausführen, um den Prozess der Anwendungserstellung zu automatisieren und anzupassen.

4.1 Skripts erstellen

BeanShell Skripts haben über die vordefinierte Variable G Zugriff auf die in die APP eingebaute Funktionalität. Die vordefinierte Variable G referenziert G.class, welche über folgende Variablen und Methoden verfügt:

Bedeutung des Rückgabewerts:

   0:   OK
   1:   Warnung
   >1:  Fehler
   99:  undefinierter Rückgabewert / 	Exception
   

Beispiel um ecj zu starten:
int rc = G.ide.fnCompile("--version");

top

4.2 Skripts ausführen

BeanShell Skripts müssen irgendwo auf der Speicherkarte gespeichert werden. Der Pfad zum Skript kann im Eingabefeld eingegeben oder über die Schaltfläche ausgewählt werden (oder im 'Projekt Dateimanager' angewählt werden). Die Schaltfläche ">" startet das angegebene BeanShell Skript.

Das Ergebnis der Skriptausführung wird in der ScrollView angezeigt, welche im Kontextmenü folgende Funktionen bietet:

top

5. Tools

Dieser Reiter gibt einen direkten Zugriff auf die eingebauten Tools, ohne dass ein BeanShell Skript benötigt wird. Alle Argumente müssen im Eingabefeld eingegeben werden. Dieser Reiter dient in erster Linie dazu, die jeweilige Hilfe der Tools auszugeben oder Sachen auszuprobieren.

top

6. Verwendung aus anderen Anwendungen

Die APP unterstützt die Intent Aktion "android.intent.action.VIEW" für Dateien mit der Extension .bsh und .jip (.jip nur bei PRO Version). Wenn Sie in Ihrem Android Dateimanager (z.B. ASTRO) .bsh Dateien anklicken, wird die APP gestartet und das Eingabefeld mit dem Pfad der Skript Datei vorbelegt. Wenn Sie .jip Dateien anklicken, wird die APP mit dem entsprechenden Projekt geöffnet.

Die APP unterstützt die Intent Aktion "android.intent.action.SEND" und kann aus anderen Anwendungen mittels folgendem Code gestartet werden:

ComponentName cn = new ComponentName("com.t_arn.JavaIDEdroid", "com.t_arn.JavaIDEdroid.MainActivity");
// PRO Version: ComponentName cn = new ComponentName("com.t_arn.JavaIDEdroidPRO", "com.t_arn.JavaIDEdroidPRO.MainActivity");
Intent intent = new Intent("android.intent.action.SEND");
intent.setComponent(cn);
intent.putExtra("android.intent.extra.ScriptPath", "/sdcard/AndroidDev/mydomain/HelloWorld/build.bsh");
intent.putExtra("android.intent.extra.ProjectFilePath", "/sdcard/AndroidDev/mydomain/HelloWorld/HelloWorld.jip"); // PRO version only
intent.putExtra("android.intent.extra.ScriptAutoRun", true);  // default = false
intent.putExtra("android.intent.extra.ScriptAutoExit", true); // default = false
intent.putExtra("android.intent.extra.WantResultText", true); // default = false
startActivityForResult(intent,123);

Im Extra Bundle können folgende Informationen übergeben werden:

Sie können die von der APP zurückgegebenen Daten in der onActivityResult Methode mit folgendem Code einlesen:

Bundle extras = intent.getExtras();
if (extras != null) 
{
   int iScriptResultCode=extras.getInt("android.intent.extra.ScriptResultCode",-1);
   String stResultText=extras.getString("android.intent.extra.ResultText");
}

ScriptResultCode wird immer zurückgegeben und enthält den Wert von G.iScriptResultCode. Wenn das Skript diese Variable setzt, wird ihr Wert beim automatischen oder benutzer-initiierten Beenden der APP an die aufrufende App zurückgegeben.

Sie können die Skript Ausgabe des BeanShell Reiters auch aus der Protokolldatei /sdcard/.JavaIDEdroid/LogOutput.txt lesen. Dies geht natürlich nur dann, wenn Sie die Einstellung 'Protokolliere Ausgabe in Datei' aktiviert haben.

top

7. Debugging

Um Probleme der APP zu analysieren, können Sie in den Optionen den Log Level einstellen. Wenn ein höherer Wert als NONE (nichts) eingestellt ist, schreibt die APP diverse Informationen in die logcat. Am meisten Informationen werden mit dem Wert VERBOSE (geschwätzig) geschrieben.

top

8. Rechtliches

Vielen Dank, dass Sie sich für diese SOFTWARE entschieden haben! Sie dürfen die SOFTWARE nur nutzen, wenn Sie mit den nachfolgenden Bestimmungen einverstanden sind:

URHEBERRECHT
Diese SOFTWARE wurde durch Tanapro GmbH (Tom Arn), www.tanapro.ch, (im folgenden AUTOR genannt) entwickelt. Alle Rechte vorbehalten.

KEINE GEWÄHRLEISTUNG
Die SOFTWARE wird im Ist-Zustand ausgeliefert. Der AUTOR lehnt jede Haftung ab, ob ausdrücklich oder gesetzlich, einschliesslich der Garantien der Handelbarkeit und der Eignung für einen bestimmten Zweck. Der AUTOR übernimmt keine Garantie dafür, dass die Software ausfallsicher oder fehlerfrei ist. Der Benutzer muss bei der Verwendung der SOFTWARE sämtliches Risiko übernehmen.

KEINE SCHADENHAFTUNG
Der AUTOR übernimmt keine Haftung für Schäden oder Folgeschäden, direkt oder indirekt, die aufgrund der Verwendung (oder der Unmöglichkeit der Verwendung) der SOFTWARE entstehen könnten, auch wenn der AUTOR über die Möglichkeit solcher Schäden in Kenntnis gesetzt worden ist.

top