Главная » Разработка для Android » ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ ECLIPSE – СОВЕТЫ И ХИТРОСТИ

0

В этом приложении собрано множество советов и хитростей, которые вы можете взять на вооружение для эффективной работы со средой разработки Eclipse. Эти советы и хитрости связаны с выполнением распространенных задач при разработке Android- приложений, однако они могут также применятся при разработке Java-приложений в среде разработки Eclipse.

КСТАТИ ________________________________________________________________

У вас есть собственные советы и хитрости, связанные с разработкой Android- прило­жений е среде разработки Eclipse? Если так, то пришлите их на наш адрес электронной почты androidwirelessdev@gmail.com (вместе с разрешением на их публикацию! и мы добавим ваши советы и хитрости в наш блог по адресу endroidbook.blogspot.com . Это ваш шанс заработать славу фаната программирования!

СОЗДАНИЕ НОВЫХ КЛАССОВ И МЕТОДОВ

Вы можете быстро создать новы»» класс и соответствующий файл с исходным кодом, щелкнув правой кнопкой мыши по названию пакета, в котором должен быть создан этот класс, и выбрав в появившемся контекстном меню команду New => Class (Создать => Класс). В появившемся диалоговом окне New Java Class (Новый класс Java) введите имя создаваемого класса, выберите его суперкласс и интерфейсы, а также укажите, нужно ли создавать стандартные комментарии и методы-заглушки для конструкторов или абстрактных методов суперкласса.

Аналогичным образом вы можете быстро создать методы-заглушки, шелк- н>в правом кнопкой мыши по названию класса или в окне редактора с исходным кодом класса и выбрав в появившемся контекстном меню команду Source => Override/Implement Methods (Исходный код => Переопределить/ Реапнзовать методы). В открывшемся диалоговом окне Override/Implement Methods (Переопределение/Реализация методов) выберите методы, для которых нужно создать «заглушки», и место в исходном коде дня добавления методов-заглушек, а также укажите, нужно ли генерировать стандарт­ные блоки комментариев.

ОРГАНИЗАЦИЯ ИНСТРУКЦИЙ IMPORT

Когда вы в первый раз обращаетесь к некоторому классу в вашем коде, вы можете установить указатель мыши на название этого нового класса и в появившемся всплы­вающем меню щелкнуть по ссылке «Import "имя_класса" (название пакета)» (Импортировать, имя_класс’ (название пакета)), чтобы среда разработки Eclipse быстро добавила подходящую инструкцию import.

Помимо того, команда Organize imports (Организовать импорты) (комбинация клавиш Ctrl+Shift+O в операционной системе Windows или комбинация клавиш Cmd+Shift+O в операционной системе Мае) заставляет среду разработки Eclipse автоматически орга­низовать инструкции import. Среда рачработки Eclipse удаляет неиспользуемые инст­рукции import и добавляет новые инструкции для используемых пакетов, которые еше не были импортированы.

Если существует неопределенность в выборе пакета для некоторого класса в процессе автоматического импортирования пакетов, например, как в случае с классом Log плат­формы Android, среда разработки Eclipse предложит вам выбрать нужный пакет для импортирования.

Наконец, вы можете настроить среду разработки Eclipse таким образом, чтобы она автоматически организовывала инструкции import при каждом сохранении файла. Эта настройка может быть установлена как для всего рабочего пространства, гак и для отдельного проекта. Настройка данной возможности на уровне отдельного проекта обеспечивает более высокую гибкость r тех случаях, когда вы работаете над несколь­кими проектами и не хотите вносить никаких изменений в некий код. даже если эти изменения являются улучшениями. Чтобы настроить данную возможность, выполните следующие шаги:

1.                                 Щелкните правой кнопкой мыши по названию проекта и в появившемся контекстном меню выберите команду Properties (Свойства).

2.                                 В появившемся диалоговом окне разверните элемент списка Java Editor (Редактор Java) и выберите раздел Save Actions (Действия при сохранении).

3.                                 Установите флажок Enable Project Specific Settings (Включить настройки на уровне проекта), после этого — флажок Perform the Selected Actions on Save (Выполнять выбранные действия при сохранении), и. наконец, флажок Organize Imports (Организовать импорты).

ДОКУМЕНТИРОВАНИЕ КОДА

Польза от комментариев, регулярно встречающихся в коде, несомненна (при условии, что эти комментарии написаны толково). Комментарии в стиле Javadoc применяются во всплывающих диалоговых окнах автозаполнения кода и в других местах, делая их еще более полезными. Чтобы быстро добавить комментарий в стиле Javadoc к методу или к классу, просто нажмите комбинацию клавиш Ctrl+Shift+J (Windows) или Cmd+Alt+J (Mac). В качестве альтернативного варианта вы можете выбирать в контек­стном меню команду Source=>Generate Element Comment (Исходный код=>Сгенерировать комментарий к элементу), чтобы автоматически добавить опре­деленные поля в Javadoc-комментарии, например, названия параметров и имя автора, тем самым значительно повысив скорость создания подобных комментариев

ИСПОЛЬЗОВАНИЕ ФУНКЦИИ АВТОЗАПОЛНЕНИЯ

Автозаполнение — это потрясающая возможность, которая ускоряет процесс ввела текста. Если вы еще не видели соответствующее всплывающее диалоговое окно дан­ной возможности или если это окно закрылось, вы можете отобразить его на экране, нажав комбинацию клавиш Ctrl+Пробел.

Автозаполнение помогает не только сэкономить время в процессе ввода текста, но также позволяет освежить в вашей памяти сведения о некоторых методах — или найти новый метод. Вы можете просмотреть список всех методов отдельного класса и даже увидеть связанные с ними Javadoc- комментарии. Вы можете легко найти статические методы, используя имя класса или имя переменной экземпляра. Для этого введите нужное имя, поставьте точку (и, возможно, нажмите комбинацию клавиш Ctrl+Пробел) и прокрутите список всех доступных имен. После этого вы можете начать ввод первой части имени, чтобы отфильтровать результаты.

ЭФФЕКТИВНОЕ РЕДАКТИРОВАНИЕ КОДА

В некоторых случаях вам может показаться, что окно редактора имеет слишком маленькие размеры, особенно, когда вокруг него расположено множество дополни­тельных маленьких панелей и вкладок. Попробуйте сделать следуюшее: дважды щелк­ните по вкладке исходного файла, который вы хотите изменить. Бум! Теперь окно редактора занимает почти все пространство окна среды разработки Eclipse! Снова два­жды щелкните по вкладке, и окно редактора примет первоначальные размеры.

Вам никогда не хотелось видеть одновременно код из двух исходных файлов? Ну, это возможно! Просто щелкните по вкладке исходного файла и, удерживая кнопку мыши, перетащите его к любому краю окна редактора. Вы должны увидеть темный контур, обозначающий новое местоположение окна редактора — либо бок о бок с другим фай­лом, либо выше или ниже другого файла. Когда вы отпустите кнопку мыши, будет соз­дано второе окно редактора, в которое можно также перетаскивать другие вкладки файлов.

Вам никогда не хотелось видеть одновременно два разных фрагмент и одном исходном файле? Это возможно! Щелкните правой кипкой мыши по вкладке нужного файла и в появившемся контекстном меню выберите команду New Editor (Новый редактор), В результате появится вторая вкладка для одного и того же файла. Теперь, воспользо­вавшись предыдущим советом, вы можете иметь два разных представления одного и тою же файла.

Вам никогда не казалось, что у вас открыто слишком много вкладок для файлов, кото­рые вы уже не редактируете? Мне казалось! Существует ряд решений для данной проблемы. Во-первых, вы можете щелкнуть правой кнопкой мыши по вкладке файла и выбрать в появившемся контекстном меню команду Close Others (Закрыть остальные), чтобы закрыть все остальные открытые файлы, кроме выбранного файла. Во-вторых, вы можете быстро закрыть конкретные вкладки, щелкнув средней кнопкой мыши по каждой вкладке. (Этот способ работает даже на компьютерах Мае, оснащенных мы­шью, позволяющей совершать щелчки средней кнопкой, например, мышью с колеси­ком прокрутки.) Наконец, вы можете использовать настройку среды разработки Eclipse, позволяющую ограничивать количество открытых редакторов:

1.                                 Откройте диалоговое окно Preferences (Настройки) среды разработки

Eclipse.

2.                                 В открывшемся диалоговом окне Preferences (Настройки) разверните

элемент списка General (Общие), выберите раздел Editors (Редакторы) и установите

флажок Close Editors Automatically (Автоматически закрывать редакторы).

3.                Измените значение параметра Number of Opened Editors Before Closing

(Количество открытых редакторов перед закрытием).

На мой взгляд, значение 8 — это оптимальное значение для параметра Number of Opened Editors Before Closing (Количество открытых редакторов перед закрытием), позволяющее избежать нагромождения вкладок редакторов и при этом иметь доста­точное число открытых редакторов для выполнения работы и для просмотра кода. Также стоит отметить, что, если вы установите переключатель When All Editors Are Dirty or Pinned (Когда все редакторы содержат несохраненный код или закреплены) в положение Open New Editor (Открывать новый редактор), будет открыто большее число окон редакторов в том случае, когда вы активно редактируете файлы, количество которых превышает значение, указанное для параметра Number of Opened Editors Before Closing (Количество открытых редакторов перед закрытием). Таким образом, эта настройка не оказывает влияния на производительность, когда вы одновременно редактируете большое количество файлов, но помогает поддерживать порядок в среде разработки в процессе выполнения большинства повседневных задач.

ПЕРЕИМЕНОВАНИЕ ПРАКТИЧЕСКИ ВСЕГО

Инструмент Rename (Перейменовать) среды разработки Eclipse – очень мощный. Он может быть использован для переименования переменных, методов, классов и много другого. В большинстве случаев вы можете просто щелкнуть правой кнопкой мыши но элементу, который вы хотите переименовать, и выбрать в появившемся контекстном меню команду Refactor=>Rename (Рефакторинг=>Перемеиновать). В качестве альтер­нативы после гою. как вы ш w апе нужный элемент, можно нажать комбинацию клавиш ALT+Shift+R, чтобы запустить процесс переименования. Если вы переиме­новываете класс верхнего уровня в файле, имя файла также должно быть изменено Если файл находится под управлением системы контроля исходною кода, среда разработки Eclipse обычно выполняет все необходимые действия, связанные с его переименованием.

Если среда разработки Eclipse может определить, что переименовываемый элемент связан с другим элементом, имеющим точно такое же имя, все вхождения данного имени также будут переименованы. В некоторых случаях это означает, что новое имя будет указано даже в комментариях. Довольно удобно!

ФОРМАТИРОВАНИЕ КОДА

Среда разработки Eclipse имеет встроенный механизм форматирования Java-кода. Форматирование кода при помощи данного механизма полезно для поддержания согласованности стиля кода, для применения нового стиля к старому коду или для приведения стилей в соответствие с требованиями различных клиентов или задач (например, для книги или статьи).

Чтобы быстро отформатировать небольшой фрагмент кода, выделите данный код и нажмите комбинацию клавиш Ctrl+Shift+F (Windows) или Cmd+Shift+F (Mac). Код будет отформатирован в соответствии с текущими настройками. Если никакой фрагмент кода не выделен, будет отформатирован весь код в файле. В некоторых случаях вам необхо­димо выделить больший фрагмент кода, например целый метод, чтобы сохранить уровни отступов и расположение фигурных скобок.

Настройки форматирования среды разработки Eclipse можно найти в диалоговом окне Properties (Свойства), в разделе Formatter (Форматтер) группы Java Code Style (Стиль кода Java). Вы можете установить эти настройки на уровне проекта или на уровне рабочего пространства. Вы можете применить и изменить десятки правил, чтобы код соответствовал вашему собственному стилю.

ОРГАНИЗАЦИЯ КОДА

В некоторых случаях форматирования кода недостаточно, чтобы сделать его понятным и удобочитаемым. В процессе разработки сложного действия появиться множество вложенных классов и методов, разбросанных по всему файлу. В этом случае вам поможет одна из хитростей разработки Eclipse: открыв нужный файл, убедитесь, что на экране также отображается панель Outline (Обзор). Просто перетаскивайте методы и классы на панели Outline (Обзор), чтобы разместить их в подходящем логическом порядке. У вас есть метод, который вызывается лишь из определенного класса, но при этом доступен всем другим классам. Просто перетащите этот метод в данный класс. Описанный подход работает практически со всеми элементами, доступными на панели Outline (Обзор), включая методы и переменные.

РЕФАКТОРИНГ С УДОВОЛЬСТВИЕМ

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

TextView nameCol = new TextView(this);

nameCol.setTextColor(getResources().getColor(R.color.title color)); nameCol.setTextSize(getResources().

getDimension(R.dimen.help text size)); nameCol.setText(scoreUserName); table.addView(nameCol);

Этот код устанавливает цвет текста, размер текста и сам текст. Если вы написали два или более фрагментов подобного кода, вашему коду может пойти на пользу рефакто- ринг. Среда разработки Eclipse предоставляет два крайне полезных инструмента — команды Extract Local Variable (Извлечь локальную переменную) и Extract Method (Извлечь метод) — для ускорения данного процесса и его максимального упрощения.

Чтобы воспользоваться командой Extract Local Variable (Извлечь локальную перемен­ную), выполните следующие шаги:

Выделите выражение getResources().getColcr(R.color.titie_ color) . Щелкните правой кнопкой мыши и в появившемся контекстном меню выберите команду Refactor=>Extract Local Variable (Рефакторинг=>Извлечь локальную перемен­ную) (или нажмите комбинацию клавиш Ctrl+Alt+L).

В открывшемся диалоговом окне введите имя переменной и, не сбрасывая флажок Replace All Occurrenes (Заменить нее вхождении), нажмите на кнопку ОК, чтобы пона­блюдать за волшебством.

Повторите шаги 1-3 для выражения, устанавливающего размер текста. Полученным результат должен выглядеть следующим образом:

int textColor = getResources().getColor(R.color.title color); float textSize =

getResources().getDimension(R.dimen.help text size);

TextView nameCol = new TextView(this);

nameCol.setTextSize(textSize);

nameCol.setText(scoreUserName);

nameCol.setTextColor(textColor);

table.addView(nameCol);

Изменения также отразились и в оставшихся пяти строках кода. Как это удобно, не правда ли?

Теперь настало время испытать в действии второй инструмент. Выполните следующие шаги, чтобы воспользоваться командой Extract Method (Извлечь метод):

1.                                Выделите все пять строк первого фрагмента кода.

2.                                 Щелкните правой кнопкой мыши и в появившемся контекстном меню выберите команду Refactor=>Extract Method (Рефакторинг => Извлечь метод) (или нажмите комбинацию клавиш Ctrl+Alt+M).

3.                                 В открывшемся диалоговом окне присвойте новому методу название и при желании измените имена переменных. (При желании вы также можете перемещать переменные вверх или вниз по списку.) Затем нажмите на кнопку ОК и понаблюдайте за волшебством. По умолчанию, новый метод будет расположен сразу за вашим текущим методом.

Если другие фрагменты в коде являются полностью идентичными выделенному фраг­менту, то есть выражения в других фрагментах кода идут в таком же порядке, все типы совпадают и т. д., они также будут заменены вызовом данного нового метода! Вы можете увидеть количество дополнительных вхождений в диалоговом окне команды Extract Method (Извлечь метод). Если это количество отличается от ваших ожиданий, убедитесь, что все фрагменты кода в точности соответствует одному и тому же шаб­лону.

Теперь ваш код будет выглядеть примерно так:

addTextToRowWithValues(newRow, scoreUserName, textColor, textSize); Работать с этим кодом проще по сравнению с первоначальным кодом, и этот новый код был создан практически без нажатий клавиш! Если до реализации рефакторинга в вашем коде было десять подобных фрагментов, благодаря использованию полезной команды среды разработки Eclipse вы сэкономите уйму времени.

РЕШЕНИЕ ЗАГАДОЧНЫХ ПРОБЛЕМ КОМПИЛЯЦИИ

Порой вы можете столкнуться с ситуацией, когда среда разработки Eclipse обнаружит ошибки компиляции там, где еще несколько мгновений назад их попросту не было. В подобной ситуации можно опробовать несколько несложных хитростей среды разра­ботки Eclipse.

Во-первых, попробуйте обновить проект: просто щелкните правой кнопкой мыши по названию проекта и выберите команду Refresh (Обновить), или нажмите клавишу F5. Если это не помогло, попробуйте удалить файл R.java, который находится в каталоге gen под названием конкретного компилируемого пакета. (Не беспокойтесь: этот файл создается при каждой компиляции проекта.) Если напротив пункта меню Compile Automatically (Компилировать автоматически) установлен флажок, этот файл будет пересоздан автоматически. В противном случае, вам понадобится скомпилировать проект вручную.

Наконец, вы можете попробовать очистить проект. Для этого выберите команду меню Project => Clean (Проект => Очистить) и в открывшемся диалоговом окне Clean (Очи­стка) выберите проекты, которые вы хотите очистить. Среда разработки Eclipse удалит все временные файлы и затем перекомпилирует проект(ы).

СОЗДАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ФИЛЬТРОВ ДЛЯ ЖУРНАЛИРУЕМОЙ ИНФОРМАЦИИ

Каждая инструкция журналирования в Androici-приложении имеет тег. Эти теги могут быть использованы вместе с фильтрами, определяемыми на панели LogCat. Чтобы добавить новый фильтр, щелкните по значку «плюс» зеленого цвета на панели LogCat. Укажите название для фильтра — возможно, используя имя тега — и введите тег, который вы хотите использовать. Теперь на панели LogCat появится другая вкладка, на которой будут отображаться сообщения, содержащие указанный тег. Помимо этого, вы можете создавать фильтры, которые отображают элементы в зависимости от степени серьезности сообщения.

Соглашение по именованию тегов, применяемое при разработке Android- приложений, подразумевает использование в качестве имени тега названия класса. Вы часто видели это в коде, прилагаемом к данной книге. Обратите внимание, что в каждом классе мы создаем константу с одним и тем же именем, чтобы упростить вызов инструкций жур- налирования. Вот пример:

public static final String DEBUG_TAG = "MyClassName";

Тем не менее, данное соглашение не обязательно. Теги могут быть организованы по отдельным задачам, которые выполняются в различных действиях, или вы можете использовать любой другой разумный способ организации тегов, соответствующий вашим требованиям.

ПЕРЕМЕЩЕНИЕ ВКЛАДОК

Среда разработки Eclipse предоставляет ряд довольно неплохих компоновок панелей, относящихся к стандартным перспективам. Тем не менее у каждого из нас есть свои стиль работы, а для разработки Android-приложений доступные перспективы имеют неудовлетворительные стандартные компоновки.

Например, вкладка Properties (Свойства) обычно находится в нижней части экрана. Для написания кода такое решение работает неплохо, поскольку эта вкладка занимает всего лишь несколько строк по высоте. Однако при разработке макетов для Android- приложений такой вариант размещения не совсем удобен.

К счастью, в среде разработки Eclipse эту проблему легко исправить: просто перетащите вкладку, щелкнув мышью по самой вкладке (ее заголовку), в новое место­положение, например, в вертикальную группу вкладок, расположенную в правой части окна среды разработки Eclipse. Это позволит получить необходимое вертикальное про­странство для отображения десятков свойств, которые часто появляются на этой панели.

Вы можете поэкспериментировать, чтобы найти оптимальную для вас компоновку вкладок. Каждая перспектива также имеет свою собственную компоновку, и перспек­тивы могут быть ориентированы на выполнение определенных задач. Если вы оконча­тельно испортили перспективу или просто хотите начать все сначала, достаточно вы­брать команду Window => Reset Perspective (Окно => Восстановить перспективу).

ИНТЕГРАЦИЯ С СИСТЕМОЙ КОНТРОЛЯ ИСХОДНОГО КОДА

Среда разработки Eclipse имеет возможность интегрироваться со многими системами контроля исходного кода путем использования дополнений. Благодаря этой интегра­ции среда разработки Eclipse может самостоятельно получать последнюю версию файла, позволяя вносить изменения в файл, когда вы приступите к редактированию файла, выгружать изменения в систему контроля исходного кода, обновлять содержи­мое файла, отображать статус файла и выполнять множество других задач, которые зависят от реализуемой поддержки функциональности конкретным дополнением. Наи­более распространенными являются дополнения для систем контроля исходного кода CVS, Subversion, Perforce, git и и многих других.

Вообще говоря, не все файлы подходят для помещения в систему исходного кода. Для проектов Android-приложений любые файлы находятся в каталогах bin и gen, не должны помешаться в систему контроля исходного кода.

Чтобы исключить добавление этих файлов в систему контроля исходного кода из среды разработки Eclipse, откройте диалоговое окне Preferences (Настройки), развер­ните элемент списка Team (Команлная работа; и выберите раздел Ignored Resources (Игнорируемые ресурсы). Поочередно добавьте в список Ignore Patterns (Игнорируе­мые шаблоны) маски файлов *.арк, *.ар и *.dex, используя кнопку Add Pattern (Доба­вить шаблон).

•     Reference (Справка) — на этой вкладке представлен поиск по списку пакетов и классов всех программных интерфейсов Android.

•      Меню — на этом экране пользователь может переходить по пунктам меню, например Play, Scores и Help.

•             Play —экран, где происходит основной игровой процесс.

•             Scores — на этом экране отображается статистика игровых достижений (включая достижения других игроков), что дает стимул для улучшения собственного рекорда.

•   HelpActivity — эта деятельность практически идентична деятельности ScoreActivity, за исключением того, что вместо вывода на экран информации об игровых достижениях она выводит на экран текст справки. Здесь можно добавить про­крутку элемента TextView.

•      Как управлять состоянием приложения?

•            Как сохраняются настройки?

•      Password (Пароль). Механизм верификации пользователя. Представлен текстовым полем для ввода паролей. При вводе пароля пользователь должен указать его дважды, чтобы подтвердить правильность ввода. Сам пароль может храниться в открытом виде.

•      TimePickerDialog — диалоговое окно с элементом TimePicker (рис. 11.1 f)

•      Убедиться, что указано надлежащее значение настройки приложения uses-sdk. Вы можете указать минимальную, целевую или максимальную версию инструментария Android SDK, поддерживаемую данной версией приложения. Эти значения

•      Страны (местоположения), где будет публиковаться приложение – доступный список местоположений регулируется действующими законами об экспорте, поэтому вы должны ответственно подходить к выбору вашего местоположения. На момент публикации этой книги было доступно около 50 местоположений, при этом регулярно добавляются новые местоположения, кроме того, вы можете выбрать определенных операторов сотовой связи в каждом местоположении, чтобы еще больше ограничить распространение вашего приложения. В качестве альтернативы

Вы должны внимательно ознакомится с дополнительной информацией (на которую указывает ссыслка Learn More (Узнать больше)) по соблюдению законов об экспорте. На соответствующей странице компания Google также включила ссылки на несколько веб-страниц правительства США, где содержится достаточное количество информа­ции, чтобы вы могли определить, будут нарушены эти законы или нет.

В то время, пока вы заполняете поля формы, происходи загрузка приложения на сервер и его проверка.

 

 

Литература: Дэрси JI., Android за 24 часа. Программирование приложений под операционную систему Google/ ДэрсиЛ., КондерШ. — М.: Рид Групп, 2011. — 464 с. — (Профессиональные компьютерные книги). ISBN 978-5-4252-0318-2

По теме:

  • Комментарии