À l'aide de awt avec android
J'ai une application Java Swing qui dessine des diagrammes. Il utilise Graphics2D appels et awt des objets tels que Rectangle, etc.
À un certain point que je veuille port ce de Android. Je comprends que je ne peux pas utiliser Graphics2D sur Android, mais puis-je encore utiliser l'awt Rectangle, Police, Couleur, etc) des classes.
Ce que je veux faire est d'isoler les modifications de code entre le swing de la version et de la version d'Android par l'ajout d'une couche d'émulation donc mon Graphics2D les appels peuvent être convertis pour Android dessin appels.
Est-ce faisable?
Juste pour être clair, je ne suis pas trop inquiet à ce sujet le Swing de l'INTERFACE utilisateur côté des choses (l'INTERFACE utilisateur est minime et peut être réécrit pour Android), je suis préoccupé par le dessin proprement code qui appelle Graphics2D à partir de nombreux endroits.
OriginalL'auteur tomd | 2010-10-09
Vous devez vous connecter pour publier un commentaire.
Le principal problème est que vous ne serez pas en mesure de faire créer des classes dans les paquets nommé
java.awt
. Mais à l'exception de ce point, fondamentalement, vous pouvez réécrire une bibliothèque basée sur l'API awt.Vous pouvez également vérifier awt-android-compat projet.
awt-android-compat est malheureusement GNU, et le mien est un projet commercial.
pour clarifier, dites-vous que je ne vais pas être en mesure d'utiliser l'existant awt classes, même des choses comme le Rectangle? Quel est le problème?" - ils n'existent pas sur Android. Toutefois, pour les classes utilitaires qui n'essaient pas de dessiner à l'écran, vous pouvez saisir la source de ces classes de Apache Harmony project, refactoriser dans un nouveau paquet (par exemple,
tomd.awt
), et de les utiliser.OriginalL'auteur Colin Hebert
http://www.apogee.com/ a produits commerciaux qui vous permettra d'exécuter Swing programmes sur Android.
Notez que je n'ai jamais utilisé ce produit donc je ne peux pas commenter sur la façon dont il est bon.
OriginalL'auteur Noel Grandin