Подтвердить что ты не робот

Советы по организации крупных проектов Android?

Мой текущий проект становится ужасно большим. У меня есть десятки видов деятельности, адаптеры, фрагменты, макет xmls и другие ресурсы.

В моих (более мелких) предыдущих проектах я организовал материал с стилем категории 1 пакет /1. Поэтому у меня был com.stuff.xy.adapter, com.stuff.xy.activity и т.д. Теперь эти пакеты содержат слишком много элементов, и я нахожу, что трачу много времени на поиск определенного класса в иерархии пакетов.

Я использую Eclipse, и есть некоторые ярлыки, которые можно использовать (перейдите к определению класса, например,), но они имеют тенденцию быть ситуативными (я не могу использовать это, чтобы быстро перейти к макету define xml).

Не могли бы вы поделиться некоторыми советами по эффективному организации крупномасштабных проектов? Или некоторые плагины для этого, возможно? (Это может помочь, например, если бы я мог объединять исходные файлы, относящиеся к конкретному экрану приложения - адаптеры, макеты, активность и код фрагмента, - поэтому я могу быстро их открыть)

EDIT: После многих месяцев разработки крупных проектов

Сначала я попытался пойти с рабочими наборами с Eclipse. На самом деле это не порезало для меня, моя проблема заключалась в том, что наш единственный проект для Android был просто слишком большим, содержащим множество ресурсов, классов, интерфейсов и т.д. Беседа с рабочими наборами в контексте одного проекта заняла слишком много времени, Я думаю, что они в основном полезны для организации проектов в одном рабочем пространстве.

В долгосрочной перспективе мы разделили наш огромный единый проект на множество небольших проектов с андроидной библиотекой и единый проект "основного приложения", который зависел от всех этих меньших. Таким образом, мы могли бы разделить ресурсы между этими библиотечными проектами (было много макетов, значений, стилей, которые использовались только в определенных частях приложения) и, конечно же, кода. Я также создал базовую библиотеку, которая зависела от всех других библиотек и содержала ресурсы и (базовые) классы, необходимые каждой части приложения.

4b9b3361

Ответ 1

В Eclipse вы можете использовать Working Sets для фильтрации ваших файлов источника/макета/ресурсов в представлении Project Explorer. Это немного более мощный, чем пакеты, поскольку он работает со всеми файлами, включая макеты и изображения, а не только с исходными файлами java.

Например, вы можете создать домашний рабочий набор, который содержит HomeActivity.java, HomeAdapter.java, res/layout/home.xml, res/drawable/home_icon.png и т.д.

Ответ 2

Для всех моих проектов Android я предпочитаю сортировать код в следующей структуре:

com.company.projectname - это пакет приложения. Базовые пакеты:

model - все мои бизнес-объекты

logic - службы и объекты, реализующие бизнес-логику

screens - все действия проекта. Если для действий требуются адаптеры и т.д., То каждое действие помещается в отдельный пакет под пакетом экранов, а соответствующий материал помещается в один и тот же проект.

tools - пакет с классом Utility. SettingsUtil и т.д.

В корне пакета я обычно имею интерфейс Constants.java с константами.

Ответ 3

Еще один совет.

Используйте Ctrl-Shift-R, чтобы быстро открыть ресурс (вы получите раскрытие автозаполнения) и Ctrl-Shift-T, чтобы быстро открыть класс java. Список также будет автоматически заполняться с использованием последних открытых файлов.

Ответ 4

Возможно, подсказка: чтобы быстро перейти к объявлению в Eclipse

Удерживайте Ctrl, а зависает над классом или методом. Через 1 секунду вы получите всплывающее окно с открытой декларацией/открытой реализацией.

Очень полезно в большом проекте.

В остальном я рекомендую просто сделать его интуитивно понятным и отсортировать все действия в пакете, а также все вычисления, например.

Ответ 5

для вашей озабоченности "Я не могу использовать это, чтобы быстро перейти к макету definiton xml", вы можете щелкнуть имя макета xml, затем ctrl + shift + R приведет вас к этой странице определения.