Beispielprojekt einrichten
(EN google-translate)
(PL google-translate)
Anders als bisher soll ein Wechsel von Processing zu Eclipse gleich zu Beginn erfolgen.
Der Vorteil liegt darin, dass neu angelegte Klassen besser in Packages organisiert werden können und insbesondere nicht als innere Klassen der Hauptklasse nach dem Import in Eclipse auftauchen. Außerdem funktioniert hier der Test auf einem Android-Device besser.
Nachteilig ist, dass man nun wirklich immer ein Android-Gerät zum testen benötigt wird und nicht im Vorfeld etwas unter Java testen kann.
Es wird einfach ein quasi leeres Processing-Projekt erzeugt und in Eclipse importiert.
Dabei ist jedoch zu beachten, dass import-Anweisungen für alle aus Processing stammenden Libraries breits im Processing-Sketchfile angegeben werden. Andernfalls würde es später schwierig werden, noch in Eclipse beispielsweise die Ketai-Library hinzuzufügen.
Libraries im Android-mode von Processing
Die Ordner von Libraries, die auch im Android-Mode sichtbar sein sollen, müssen ggf. von .../processing/modes/java/libraries/ nach .../processing/modes/android/libraries/ kopiert werden.
Jedoch funktionieren nur solche Libraries im Android-Mode, die entweder wie Ketai speziell für diesen geschrieben wurden, oder solche, die nur Standard-Java unter der Motorhaube verwenden, wie controlP5.
Geeignete Libraries:
|
geeignete selbst erstellte Libraries:
|
möglicherweise geeignet, jedoch bisher nicht getestet:
|
Vorsorglich können zunächst alle diese Libraries nach .../processing/modes/android/libraries/ kopiert werden (nötigenfalls Ordner libraries neu anlegen).
Android-Level im SDK von ADT
Um die eigene App mit allen Geräten testen zu können, die greifbar sind, sollten so viele Android-API-Levels dem SDK von ADT hinzugefügt werden, wie möglich.
Damit aber überhaupt der Import von Processing-Projekten funktioniert, muß in jedem Fall API-Level 10 ergänzt werden. Jede Android-Version implementiert einen bestimmten API-Level. Level 10 wird durch Android 2.3.3 implementiert. Die Datei android-2.3.3_r02-linux.zip muß deshalb entpackt werden, in android-10 umbenannt und nach .../adt_android/sdk/platforms/android-10 kopiert werden. Die nachfolgende Tabelle zeigt die Zuordnungen aller derzeit verfügbaren API-Levels:
API-Level | Android-Version | Name | Datei |
---|---|---|---|
1 | 1.0 BASE | ? | |
2 | 1.1 | BASE_1_1 | android-1.1_r1-linux.zip |
3 | 1.5 | CUPCAKE | android-1.5_r04-linux.zip |
4 | 1.6 | DONUT | android-1.6_r03-linux.zip |
5 | 2.0 | ECLAIR | android-2.0_r01-linux.zip |
6 | 2.0.1 | ECLAIR_0_1 | android-2.0.1_r01-linux.zip |
7 | 2.1 | ECLAIR_MR1 samples-2.1_r02-linux.zip | |
8 | 2.2 | FROYO android-2.2_r03-linux.zip | |
9 | 2.3.1 | GINGERBREAD | android-2.3.1_r02-linux.zip |
10 | 2.3.3 | GINGERBREAD_MR1 | android-2.3.3_r02-linux.zip |
11 | 3.0 | HONEYCOMB | android-3.0_r01-linux.zip |
12 | 3.1 | HONEYCOMB_MR1 | android-3.1_r02-linux.zip |
13 | 3.2 | HONEYCOMB_MR2 | android-3.2_r01-linux.zip |
14 | 4.0.2 | ICE_CREAM_SANDWICH | android-14_r03.zip |
15 | 4.0.4 | ICE_CREAM_SANDWICH_MR1 | android-15_r03.zip |
16 | 4.1.1 | JELLY_BEAN | android-16_r03.zip |
17 | 4.2.2 | JELLY_BEAN_MR1 | android-17_r02.zip |
18 | 4.3 | JELLY_BEAN_MR2 | android-18_r02.zip |
19 | 4.4 | KITKAT | android-19_r03.zip |
Tabelle 0-1: Zuordnung zwischen API-Level, Android-Version und dem apätesten verfügbaren Release.
Ob die Installation der verschiedenen API-Levels erfolgreich war, läßt sich in Eclipse mit dem SDK-Manager sehen:
Bild 0-1: Aufruf des SDK-Managers in Eclipse
Bild 0-2: SDK-Managers.
Anlegen und exportieren eines Basis-Projektes mit Processing
In das Basis-Projekt wird zunächst einfach alles importiet, was die Libraries zu bieten haben.
Was nicht gebraucht wird, kann später in Eclipse wieder entfernt/bereinigt werden. Was es gibt, läßt sich an der jeweiligen API und den Beispielen ablesen. Insbesondere sollte man ggf. auch alle Elemente von Unterpackages mit einbinden.
//Bereits erfolgreich getestete Bibliotheken: import ketai.camera.* import ketai.cv.facedetector.* import ketai.data.* import ketai.net.* import ketai.net.bluetooth.* import ketai.net.nfc.* import ketai.net.nfc.record.* import ketai.net.wifidirect.* import ketai.sensors.* import ketai.u.* import sprites.*; import sprites.maths.*; import sprites.utils.*; import controlP5.*; //ACHTUNG: ALLE NACHFOLGENDEN LIBRARIES ZUNÄCHST WEGLASSEN. //(irgendeine macht Probleme !) //Eigene Bibliotheken, die plattformunabhängig sind: import xxxevooptxxx.*; import xxxguixxx.*; import xxxsimulatorxxx.*; //Möglicherweise nützliche und geeignete, aber noch nicht getestete Bibliotheken: import processing.pdf.*; import processing.net.*; import processing.dxf.*; import proxml.*; import prohtml.*; import seltar.unzipit.*; import hypermedia.net.*; import oscP5.*; import netP5.*; import de.looksgood.ani.*; import de.looksgood.ani.easing .*; import generativedesign.*; import processing.xml.*; import geomerative.*; import org.seltar.Bytes2Web.*; void setup() { } void draw() { }
Code 0-1: Projektvorlage in Processing, beispielprojekt002.pde
Export von Processing und Import in Eclipse
Bild 0-3: Export als Android-Projekt im Android-Mode in Processing.
Das exportierte Projekt liegt dann in einem neu erstellten Ordner mit dem namen android im Sketch-Ordner des Processing-Projektes (../basisprojekt002/android/).
Beim Importieren in Eclipse muß der Ordner android ausgewählt werden (Der Projektname ist aber dann trotzdem basisprojekt002):
Bild 0-4: Importieren nach Eclipse, Schritt 1
Bild 0-5: Importieren nach Eclipse, Schritt 2
Bild 0-6: Importieren nach Eclipse, Schritt 3 WICHTIG: Copy projects into workspace
Bild 0-7: ...man sieht, dass wirklich die ganzen in Processing importierten Libraries auch bei Eclipse vorhanden sind.