# Java2D/Graphics2D in Android..?



## sirbender (21. Mai 2012)

Hi,

ich habe ein Programm in Java dass ich gerne nach Android portieren wuerde. Das Programm zeichnet Shape-Objekte auf eine Oberflaeche. Alles 2D.

Ich will in einem extra-Thread berechnungen anstellen und es im Paint-Thread in Android zeichnen. Ich nehme mal an es gibt einen Paint-Thread in Android? Welche Klassen sollte ich da nehmen? Habt Ihr vielleicht einen Link zu einem Beispiel wo sowas gemacht wird...ich Google bisher ohne grossen Erfolg.

Was ich auch noch will, ist dass ich die Zeichenflaeche per Pinch-Zoom rein-und rauszoomen kann. Gibt es da Zeichenflaeche, die das bereits von Haus aus mitbringen?

Danke,
sb


----------



## c_sidi90 (21. Mai 2012)

Les dir erstmal die Grundzüge der Android-Entwicklung durch. Die Vorgehensweise und die Datenstruktur ist dort eine andere. Auch die rendering Methoden weichen von der Paint Methode ab. Soweit ich weiss laufen Zeichenoperationen in dem Android SDK über OpenGL, bin mir da aber nicht sicher.


----------



## Spacerat (21. Mai 2012)

Nee, ist schon richtig, die verwenden OpenGLES. Das ist aber kein Grund, einen Java-Standard (Java2D) nicht zu unterstützen. Die Java2D-Klassen liegen alle im AWT-Verzeichnis und bilden die Grundlage für das moderne AWT (seit Version 1.2). So wird z.B. nicht ein einziger Graphics-Kontext ohne BufferedImage erstellt, auch die nicht, die den Paint-Methoden der Componenten übergeben werden. Da ich für ein relativ anspruchsvolles Projekt auch ein wenig Java2D-Funktionalität in Android benötige, brachte mich das mit Hilfe meines DirectBufferedImages auf eine ziemlich einfache Idee. Nun, das DBI dient dem Zweck, per Graphics-Kontext direkt in einen Texturpuffer zu zeichnen und das wollte ich halt auch in Android. Hätte natürlich nie gedacht, das man dazu das komplette Java2D mit portieren muss, aber man ist ja hartnäckig. Hab' das Ganze zumindest schon mal soweit, dass ich mich haupsächlich "nur noch" (lol) mit den Klassen Graphics2D und FontManager (Laden und interpretieren von Font-Dateien) rumschlagen muss. Die AWT-Klassen (Component und aufwärts) lasse ich erstmal aussen vor und wenn es keine rechtlichen Probleme gibt wird man über Kurz oder Lang Java2D auch bei Android geniessen können, hoffe ich jedenfalls.


----------

