Portierung AWT-graphics-code zu Android
Möchten wir unsere bestehende Java-AWT-graphics-code auf der Android-Plattform. Soweit ich sagen kann, Android umfassen nicht die AWT-Klassen -- keine Graphics2D
, Path2D
, FontMetrics
usw.
Was ist der beste Ansatz zum Anschluss unserer Zeichnung code zu Android? Idealerweise möchten wir ändern unseren code-Basis zu Ziel beide Android und generische Java.
- Überprüfen Sie heraus die awt-android-compat-Projekt: code.google.com/p/awt-android-compat . Es wurde nicht viel Aktivität in letzter Zeit, leider, so ist es noch in einem sehr frühen Stadium. Scheint, gibt es einige Verweise auf rgz in Android-interne code, sondern nutzen es direkt unmöglich erscheint. Vielleicht könnte es nützlich sein, in der man Beiträge zu den awt-android-compat-Projekt? Ich bin mir nicht sicher. grepcode.com/file/repository.grepcode.com/java/ext/...
- awt android-Kompatibilität : die tote, zu viele Probleme.
- Hier ist ein wrapper, die ich für die Grafik-apis, es ist nicht komplett, aber hat eine Menge von Funktionen. pastebin.com/b5TFWSqQ
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die android-Plattform unterstützt nur eine kleine Teilmenge der awt. Durch die kleinen, ich meine, es unterstützt die awt-Schriften. Wenn du von java swing (sind Sie wirklich nur mit awt als standalone-UI?) auf Android wird ein Schock für das system. Definiert man den Android-UI in XML-Ressource-Dateien, und diese Ressourcen geladen sind, in die Aktivität, welche Klassen repräsentiert eine logische Einheit von der Anwendung. Leinwand " ersetzen Graphics2D-Objekte, und Sie haben etwas andere Funktionen.Die Android-UI-system sucht, um zu vermeiden, die absolute Positionierung, die Häufig in java-Benutzeroberfläche. Und es gibt so viel mehr zu berücksichtigen, die für Android, wie unterschiedliche Bildschirmgrößen und Unterschiede in der Auflösung. Weder wurden viel von einem Problem für Java SE. Um deine Frage zu beantworten: Sie haben Ihre Arbeit ausgeschnitten für Sie, und Sie müssen von vorne beginnen, viel von Ihrer Codierung von Grund auf.
Ich bin mir nicht sicher, was 'Zeichnung-code" bedeutet, aber in meinem Fall, ich habe eine große Menge an animation code, der angezeigt wird, über awt-Formen. Dies ist reproduzierbar auf android, da es Grafiken sind.drawable.Formen-Objekte und man kann das display primitive Formen etwas zu tun, wie eine Leinwand.drawCircle(x,y,z,h) (erinnern Sie an etwas?). Aber wenn ich portiert, es war Schwierigkeit und fühlte mich wie ich war cortorting android zu tun, etwas, das es eigentlich gar nicht werden wollte und nicht beabsichtigte, zu tun. Es ist schwer deine Frage zu beantworten genau das, angesichts der Vagheit der es.
Ich glaube nicht, können Sie port-AWT auf Android. Ich meine, es ist Java SE vs eine Teilmenge (oder eine aktualisierte Java ME mit Steroiden, wie Sie es vorziehen).
Gibt es zwar einige UI-Klassen für Java ME, die perfekt funktionieren auf Android. Ich persönlich mag LWUIT aber es ist nicht der einzige.
appengine-awt ist eine Reine java-Implementierung der java.awt und javax.imageio-Pakete für den Einsatz in der Google AppEngine Umgebung.
https://github.com/witwall/appengine-awt
SwingWT ist eine 100% Reine Java-Bibliothek, die zielt darauf ab, eine freie implementation von Swing und AWT. Im Gegensatz zu Swing, treibt es die nativen peer-widgets für Ihre Plattform von SWT.
https://github.com/witwall/SwingWT