Скачиваний:
16
Добавлен:
17.06.2023
Размер:
2.04 Mб
Скачать

3.Запуск проекта

Выбираем в меню Run | Run. При первой попытке запустить проект вы можете получить сообщение, что у нас нет необходимого устройства и его нужно сначала создать. Для отладки приложений используется эмулятор устройства - виртуальная машина, на которой будет запускаться наше приложение. Также можно использовать и реальное устройство через USB-подключение.

Чтобы создать эмулятор устройства, выбираем в меню Window | Android Virtual Device Manager и нажимаем кнопкуNew..., в новом окне вводим любое понятное имя, например, Android4. Из выпадающего списка Device можете выбрать устройство, наиболее подходящее для ваших опытов, например, можно выбрать стандартный смартфон Nexus S. Выбираем нужную версию Android для поля Target. В поле CPU/ABI выбираем тип процессора (если доступно). При необходимости можно создать эмуляторы для каждой версии ОС и проверять программу на работоспособность. Остальные настройки можно оставить без изменений. Вы всегда можете вернуться к настройкам и отредактировать снова. Часто рекомендуют использовать опцию Use Host GPU, чтобы задействовать возможности графического процессора. Это даёт прирост скорости эмулятора. Нажимаем кнопку OK.

Если вы создали несколько эмуляторов, то выделите нужный и нажмите кнопку Start для запуска эмулятора.

Внимание: Виртуальные машины по умолчанию сохраняются в папке пользователя, и пути к папке не должны содержать русские символы во избежание проблем.

Если вы всё же попались в эту ловушку, то дам ссылку по смене папки пользователя на английский:http://www.cherneenet.ru/lokalnaj_zapis.html . Также можно подправить ini-файл и прописать путь к виртуальному устройству таким образом, чтобы в пути не встречались русские буквы (соответственно, сам файл *.avd также нужно переместить в другое место).

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

Не закрывая эмулятор, вернитесь к проекту и запустите его ещё раз. Если всё сделали правильно, то в эмуляторе загрузится ваша программа.

После создания эмулятора его не нужно запускать отдельно, запускайте сразу свой проект и эмулятор автоматически запустится самостоятельно (настраивается).

Итак, если программа загрузилась в эмуляторе, то увидите окно приложения с надписью Hello World . Заголовок у программы будет также Hello World. Все эти строки можно найти в файле res/values/strings.xml и отредактировать при желании.

Работа с проектом - Здравствуй, котенок! (Hello kitty)

Поздравляю, вы создали новую программу, но это ещё не повод считать себя программистом, так как вы не написали не единой строчки кода. Настало время набраться смелости и создать программу "Hello Kitty!". На данный момент наша программа слишком проста. Представьте себе, что у вас на форме должны располагаться несколько кнопок, текстовых полей и т.д. Каждому объекту нужно задать размеры, координаты, цвет, текст и так далее. Android поддерживает способ, основанный на XML-разметке, который будет напоминать разметку веб-страницы. Начинающие программисты могут использовать визуальный способ перетаскивания объектов с помощью мыши. Более продвинутые могут писать код вручную. Чаше используется комбинированный подход.

В принципе, можно продолжить работу над открытым проектом и модифицировать её под новые задачи. Но для приобретения твёрдых навыков лучше снова создать новый проект, не подглядывая в описание. Назовите проект Hello Kitty и повторите все предыдущие шаги. Я буду использовать пример с минимальной версией Android 4.0.

Файлы XML-разметки находятся в папке res/layout/ вашего проекта. Слово "res" является сокращением от слова "resources" (ресурсы). Папка содержит ресурсы, не связанные с кодом. Кроме разметки, там же содержатся изображения, звуки, строки для локализации.

Раскройте слева в структуре проектов папки res/layout и дважды щелкните на файле activity_main.xml. Обратите внимание, что XML-файлы можно просматривать в двух режимах: текстовом и визуальном. Для этого предназначены две вкладки в нижней части окна редактора: Graphical Layout и XML-код (используется имя файла, в данном случае activity_main.xml).

Переключитесь в режим редактора XML. Если брать наш пример, то в XML-код будет описан следующим образом.

Теперь откройте файл fragment_main.xml. Его содержание будет следующим.

Структура XML-файла достаточна проста - стандартное дерево XML-элементов, где каждый узел является именем класса View (TextView - один из элементов View). Вы можете создать интерфейс программы, используя структуру и синтаксис XML. Подобный подход позволяет разделить код программы и визуальное представление.

Как я уже говорил выше, программистов заставляют использовать фрагменты. Но для простых примеров они совсем не нужны, а только пугают новичков обилием непонятного кода. Да и мне придётся переделывать 90% старых примеров. Поэтому поступим по другому. Мы последовательно вернёмся к коду, который использовался раньше. А когда наступит подходящий момент, то начнём использовать фрагменты. В процессе переделки вы лучше поймёте устройство программ.

Скопируйте содержимое файла fragment_main.xml и замените им содержимое файла activity_main.xml.

Закройте файл fragment_main.xml, он нам больше не понадобится (можете даже удалить его).

Работаем с файлом activity_main.xml. Когда файл открыт в графическом представлении, то слева от основной части редактора кода можно увидеть панель инструментов, в которой сгруппированы различные элементы по группам Form Widgets, Text Fields и так далее. Раскройте группу Images & Media. Подхватите мышкой элемент ImageButton, перетащите её на форму и отпустите. Точное расположение нас не интересует, поэтому не заморачивайтесь по этому поводу, постарайтесь разместить компонент в центре экрана активности. Когда вы отпустите кнопку мыши, то среда разработки предложит выбрать графический ресурс для нашей кнопки ImageButton. Можете выбрать, к примеру, ресурс ic_launcher. В любом случае позже мы поменяем картинку.

Теперь научимся менять фон для формы. Сейчас у нас форма белого цвета. Сначала нам нужно подготовить соответствующий цветовой ресурс.

Посмотрим, как добавлять и редактировать строковые и другие ресурсы через визуальный интерфейс. Слева в папке res/values/откройте файл strings.xml и переключитесь на вкладку Resources.

Щелкните кнопку Add..., в новом диалоговом окне Create a new element at the top level, in Resources. выберите нужный тип ресурсов, например, Color и щелкните кнопку OK.

Новый ресурс должен добавиться к существующим ресурсам, но в последней версии ADT графический редактор сломали, поэтому после нажатия на кнопку OK, нажмите на кнопку с буквой C. Тем самым вы даёте указание просмотреть все ресурсы цвета.

После этого нужно указать имя добавленного ресурса (Name) и его значение (Value). Среда разработки подсказывает, что для цвета нужно указывать значения в формате #RGB, #ARGB, #RRGGBB или ##AARRGGBB. В нашем случае нужно создать ресурс под именем background_color и указать значение #ffc0cb. Кнопку C теперь можно отжать, чтобы увидеть все ресурсы снова.

Щёлкните в левой части окна на пункте Color, чтобы введенные значения вступили в силу. Переключитесь в XML-представление файла и посмотрите, как выглядит код. Визуальный способ добавления ресурсов будет полезен на первых шагах начинающим программистам, так как позволяет избежать опечаток и не вспоминать правильный формат ресурсов. Позже, возможно, вам будет проще напрямую редактировать XML-файл.

Если у вас не получилось добавить через графический редактор из-за его глючности, то переключитесь в XML-редактор и добавьте строку:

Сама среда разработки не имеет встроенного помощника для выбора цвета, что немного напрягает. 

Возвращаемся в файл разметки activity_main.xml. Справа найдите вкладку Properties, в которой отображаются свойства для выбранного элемента. Новички часто путаются на первых порах и начинают менять свойства не у тех элементов, которые им были нужны. Сейчас у вас есть сама форма, графическая кнопка ImageButton и текстовая метка TextView с надписью Hello World!. Пощёлкайте по этим элементами, чтобы увидеть, как меняется содержание свойств в панели свойств. Так как мы собираемся работать с фоном экрана приложения, то щёлкните в области формы и в панели свойств найдите свойство Background.

Нажмите на кнопку с тремя точками, чтобы запустить диалоговое окно выбора ресурса, раскройте элемент Color и выберите созданный нами ранее ресурс background_color. Отлично, форма окрасилась в розовый цвет. Получилось глаМУРненько.

Далее я обещал вам поменять картинку для графической кнопки. Находим подходящее изображение и копируем его, например, в папку res/drawable-xhdpi . Можно и в другие папки drawable, сейчас это не важно. Картинку можете взять здесь.

Когда вы копируете графический файл в указанную папку, то Android автоматически создаёт ресурс типа Drawable с именем файла без расширения, к которому можно обращаться программно. Выделяем элемент ImageButton на форме и в панели свойств выбираем свойство Src. Снова щёлкаем на кнопке с тремя кнопками и выбираем ресурс в категории Drawable - вы там должны увидеть ресурс pinkhellokitty (имя добавленного ранее файла).

Там же в окне свойств находим свойство On Click и прописываем onClick - это будет именем метода для обработки нажатия на кнопку.

Мы закончили работу с графическим интерфейсом приложения. Напоследок, выделите элемент TexView с надписью Hello, World и в окне свойств посмотрите на его идентификатор (ID) - это самая первая строчка в окне свойств. Скорее всего, у вас будет@+id/textView1. Запомните его. Попробуйте этот элемент также подвигать по экрану, чтобы выбрать более подходящее место, допустим под картинкой.

Когда вы что-то меняете в графическом редакторе, то не забывайте после изменений сохранять результат.

Теперь нужно написать код. Открываем файл MainActivity.java. Так как мы собираемся менять текст в текстовой метке, необходимо прописать данный элемент в коде. До метода onCreate() добавьте строчку:

Мы объявили переменную типа TextView под именем tvHello. Когда вы наберёте эту строку, то слово TextView будет подчёркнуто красной волнистой линией. Подведите курсор к слову и дождитесь всплывающей подсказки. Выбирайте пункт с Import 'TextView' (android.widget), чтобы прописать нужный класс. Есть альтернативный вариант с помощью функции автозавершения - наберите несколько первых символов, например, textv и нажмите комбинацию клавиш Ctr+Пробел. Среда разработки предложит несколько вариантов для продолжения, выбираем вариант с TextView и импорт класса будет осуществлён автоматически.

Далее внутри метода onCreate() после вызова метода setContentView() добавьте строку:

Избегайте соблазна скопировать строку с описания лабораторных работ и вставить в код, пишите самостоятельно и активно используйте автозавершение (Ctrl+Пробел) при наборе слов. Теперь система знает о существовании элемента TextView и мы можем к нему обращаться для изменения различных свойств, например, поменять текст.

Пару слов о том, почему слово TextView оказалось заключённым в скобки. Сам по себе метод findViewById()возвращает объект View, в чём вы сами можете убедиться, если подведёте курсор к названию метода - public View findViewById(int id). Класс View является общим предком для всех компонентов, но так как мы работаем с конкретным компонентом, то сужаем область возможностей объекта, чтобы избежать возможных ошибок и работать только со свойствами указанного компонента.

Остальной код в методе onCreate(), связанный с загрузкой фрагментов, удаляем. Мы договорились, что фрагменты использовать не будем. Поэтому можем удалить и код для класса PlaceholderFragment.

Создаём метод для обработки нажатия на графическую кнопку. Если вы помните, в свойстве On Click мы назначили имя методу как onClick. Поэтому пишем отдельный метод где-нибудь в конце класса:

В следующих занятиях мы подробнее разберём работу с данным методом, пока просто перепишите в слово в слово.

Внутри созданного метода пишем код:

Мы обращаемся к элементу tvHello и через метод setText() программно меняем текст на нужные слова.

Запускаем программу и нажимаем на кнопку с изображением котёнка. Если всё сделали правильно, то отобразится замечательная фраза. С этого момента можете считать себя настоящим программистом - вы научились создавать цветовые и графические ресурсы, менять фон у приложения через XML-разметку, обрабатывать нажатия кнопки и выводить текстовые сообщения.

В папке bin проекта можно найти готовый APK-файл, который можно выложить у себя на сайте и дать скачать знакомым девушкам (в телефоне должно быть разрешение на установку неподписанных приложений), вы станете невероятно круты в их глазах.