kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Kurzanleitung zur Handhabung von Processing und Eclipse

(EN google-translate)

(PL google-translate)

Einige der zuvor gegebenen Anleitungen haben sich mittlerweile als überholt oder nicht funktionierend heruasgestellt. Nachfolgend in Stichworten ein Rezept zum Vorgehen nach aktuellem Stand.

1. Leeren Sketch in Processing erstellen und abspeichern

  • Der Speichername ist dabei völlig egal.
  • Man sollte noch die Libraries, die man häufig benötigt mit hineinnehmen.
  • Man sollte auch die Reihe der Icons in den Auflösungen 36x36, 48x48, 72x72 Pixeln mit den Namen icon-36.png, icon-48.png, icon-72.png in den Sketchordner legen.

Später sollte es möglich sein die Icon-Dateien einfach einzeln auszutauschen:

Speicherort der Icons im Eclipse-Projekt.

Bild 0-1: Speicherort der Icons im Eclipse-Projekt.

2. Export als Android-Projekt und Import nach Eclipse

Wenn man nach dem Import in Eclipse den Projektnamen immer ändert, läßt sich dieses Basisprojekt immer wieder verwenden.

3. Refactoring in Eclipse (immer mit Refactor->Rename)

  1. Projektname ändern
  2. Hauptpackage-Pfad von processing.test.basisprojekt in info.kramann.meinprojekt ändern.
  3. Name der Hauptklasse ändern.

Keinesfalls Namen und Pfade im Ordner res oder gen ändern!

Damit unter dem Icon dann in Android richtig steht, muss er noch in der Manifestdatei geändert werden: Attribut android:label im Tag application.

Zwar meckert Eclipse, wenn man das von Hand direkt in der Manifest-Datei ändert, aber Änderungen über die Oberfläche haben bisher immer zum Zerstören des Projektes geführt, Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="processing.test.mikro2">
  <uses-sdk android:minSdkVersion="10"/>
  <application android:debuggable="true" android:icon="@drawable/icon" android:label="TapeEcho">
    <activity android:name="info.kramann.tapeecho.TapeEcho">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
  </application>
</manifest>

Code 0-1: Beispiel für eine Manifestdatei mit geändertem label-Attribut.

Das gleiche gilt für die Permissions, auch die wurden bisher am erfolgreichsten von Hand geändert, Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="processing.test.ketaimikro">
  <uses-sdk android:minSdkVersion="10"/>
  <uses-permission android:name="android.permission.RECORD_AUDIO"/>
  <application android:debuggable="true" android:icon="@drawable/icon" android:label="ketaimikro">
    <activity android:name=".ketaimikro">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
  </application>
</manifest>

Code 0-2: Beispiel mit von Hand eingetragener Mikrofon-Permission.

Man kann die möglichen Permissions über die Oberfläche nachschlagen und dann aber von Hand eintragen.

Plattform 2 (android-2) führt zu Fehlermeldungen und wurde entfernt.

Bereitstellen verschiedener Basis-Projekt-Varianten

Mit allen Libraries dauert das Kompilieren sehr lange und selbst ohne Inhalt recht groß (4,5MB). Darum werden einfach mehrere Varianten mit einer steigenden Anzahl an Libraries erzeugt/vorproduziert. Beispielhaft folgt der Quelltext der umfangreichsten Version in Processing:

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.ui.*;

import sprites.*;
import sprites.maths.*;
import sprites.utils.*;

import controlP5.*;

//Möglicherweise nützliche und geeignete, aber noch nicht getestete Bibliotheken:
import processing.pdf.*;
import processing.net.*;
import processing.dxf.*;
import processing.xml.*;
import proxml.*;
import prohtml.*;


public boolean aktiv = false;

public void setup()
{
}

public void draw()
{
     clear();
     background(255);
     noStroke();
     if(aktiv)
     {
           fill(0,255,0);
     }
     else
     {
           fill(255,0,0);
     }
     ellipse(width/2,height/2,width/2,height/2);
}

public void mousePressed()
{
    aktiv = !aktiv;
}

Code 0-3: basisPK5SD.pde - vergl. weiter unten.

  • basisP - nichts Zusätzliches, nur Standard Processing core.
  • basisPK - Ketai
  • basisPK5 - Ketai, controlP5
  • basisPK5S - Ketai, controlP5, sprites
  • basisPK5SD - Ketai, controlP5, sprites, divers: pdf,net,dxf,xml,proxml,prohtml

Die Projekte wurde bereits in Eclipse importiert und wurden dann aus dem Workspace kopiert.

Um die Möglichkeiten der Libratries wirklich zu nutzen, empfielt es sich, die API-Dokumentationen griffbereit zu haben und die Beispiele in Java-Processing durchzugehen.
basisP.zip

basisPK.zip

basisPK5.zip

basisPK5S.zip

basisPK5SD.zip

mikrofon_basisprojekte.zip