Портирование графического кода AWT на Android

java android graphics awt porting

14658 просмотра

3 ответа

Мы хотели бы использовать некоторые из наших существующих графических кодов Java AWT на платформе Android. Насколько я могу судить, Android не содержит какой - либо из классов AWT - нет Graphics2D, Path2D, FontMetricsи т.д.

Как лучше всего перенести наш код для рисования на Android? В идеале мы хотели бы изменить нашу кодовую базу, чтобы она предназначалась как для Android, так и для общей Java.

Автор: Tony the Pony Источник Размещён: 17.05.2019 02:46

Ответы (3)


8 плюса

Решение

Платформа Android поддерживает небольшое подмножество AWT. Под маленьким я подразумеваю, что он поддерживает шрифты AWT. Переход от java swing (вы действительно просто используете awt в качестве автономного интерфейса?) К Android будет шоком для системы. Один определяет пользовательский интерфейс Android в файлах ресурсов XML, и эти ресурсы загружаются в классы Activity, которые представляют собой логическую единицу приложения. Canvas заменяет объекты Graphics2D, и у них несколько иная функциональность. Система пользовательского интерфейса Android стремится избежать абсолютного позиционирования, что является обычным явлением в Java-интерфейсах. И для Android есть еще много всего, что нужно учитывать, например, размер экрана и разница в разрешении. Ни один из которых не был большой проблемой для Java SE. Чтобы ответить на ваш вопрос: у вас вырезана работа, и вам придется начинать большую часть кодирования с нуля.

Я не уверен, что означает «код рисования», но в моем случае у меня есть большой объем кода анимации, который отображается с помощью форм awt. Это воспроизводимо на Android, так как есть объекты graphics.drawable.shapes, и можно отображать примитивные фигуры, выполняя что-то вроде canvas.drawCircle (x, y, z, h) (что-то напоминает вам?). Но когда я портировал его, это было трудно, и я чувствовал, что заставляю андроида делать то, чего он действительно не хотел и не собирался делать. Трудно ответить на ваш вопрос точно, учитывая его неопределенность.

Автор: farm ostrich Размещён: 25.04.2011 11:54

2 плюса

Я не думаю, что вы можете портировать AWT на Android. Я имею в виду, что это Java SE против его подмножества (или обновленная Java ME со стероидами, как вы предпочитаете).

Тем не менее, есть некоторые классы пользовательского интерфейса для Java ME, которые отлично работают на Android. Лично мне нравится LWUIT, но он не единственный.

Автор: Vicente Plata Размещён: 25.04.2011 09:47

0 плюса

https://github.com/windwardadmin/android-awt

Android-АВТ

Этот проект заменяет java.awt и javax.imagio, так как мы не можем использовать эти классы на Android. Этот проект GitHub создан для поддержки любых незначительных изменений, которые нам, возможно, потребуется внести в исходный код appengine-awt.

Автор: bth_ Размещён: 13.03.2019 08:59
Вопросы из категории :
32x32