Android: Как автоматически генерировать код Java из файла макета? - PullRequest
9 голосов
/ 18 сентября 2011

Кто-нибудь знает какой-либо плагин Eclipse или что-либо, что можно использовать для автоматической генерации кода Java из файла макета?Например, если в моем файле макета есть EditText с идентификатором "@ + id / txtHello", я ожидаю, что будет сгенерировано что-то вроде следующего:

EditText txtHello = (EditText) findViewById(R.id.txtHello);

Спасибо за ваше время!

Харрис:)

Ответы [ 5 ]

10 голосов
/ 28 февраля 2013

Используйте этот онлайн-инструмент:

http://www.buzzingandroid.com/tools/android-layout-finder/

Он просто выполняет работу быстро.Я использую это каждый день.

10 голосов
/ 19 сентября 2011

Обычно есть три разных способа сделать это:

  1. во время выполнения (с помощью аннотаций на отражение)
  2. во время компиляции (с помощью аннотаций или аспектов)
  3. во время разработки (через генераторы кода)

Хорошая статья для начала - Чистый код в приложениях Android .

Объявление 1) Два решения см.

Ad 2) Аннотации Android, см. http://androidannotations.org/

Ad 3) Два решения, см.

Если есть еще, пожалуйста, сообщите!Я лично предпочитаю 2) и, следовательно, Android-аннотации.

Надеюсь, это поможет!

5 голосов
/ 19 сентября 2011

Есть плагин Eclipse, который делает именно то, что вы хотите, я думаю: http://marketplace.eclipse.org/content/lazy-android

1 голос
/ 23 сентября 2014

Существует новый плагин, который может генерировать активность, фрагмент, адаптер на основе XML-макета. Может также генерировать связанный с меню код (обработка действий) для файлов меню XML. И имеет редактируемые шаблоны, так что пользователь имеет больше контроля над сгенерированными данными.

Для Eclipse: http://tmorcinek.github.io/android-codegenerator-plugin-eclipse/

Для Android Studio / IntelliJ IDEA: http://tmorcinek.github.io/android-codegenerator-plugin-intellij/

0 голосов
/ 12 сентября 2012

Я пользуюсь MotoDev Studio.Это действительно экономит время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...