kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




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:

  • Ketai
  • controlP5
  • Sprites

geeignete selbst erstellte Libraries:

  • xxxevooptxxx
  • xxxsimulatorxxx

möglicherweise geeignet, jedoch bisher nicht getestet:

  • xxxguixxx
  • pdf

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:

Aufruf des SDK-Managers in Eclipse

Bild 0-1: Aufruf des SDK-Managers in Eclipse

SDK-Managers.

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

Export als Android-Projekt im Android-Mode in Processing.

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):

Importieren nach Eclipse, Schritt 1

Bild 0-4: Importieren nach Eclipse, Schritt 1

Importieren nach Eclipse, Schritt 2

Bild 0-5: Importieren nach Eclipse, Schritt 2

Importieren nach Eclipse, Schritt 3 WICHTIG: Copy projects into workspace

Bild 0-6: Importieren nach Eclipse, Schritt 3 WICHTIG: Copy projects into workspace

...man sieht, dass wirklich die ganzen in Processing importierten Libraries auch bei Eclipse vorhanden sind.

Bild 0-7: ...man sieht, dass wirklich die ganzen in Processing importierten Libraries auch bei Eclipse vorhanden sind.