FAQ: Создание нового проекта на примере Hello world
Вложений: 9
Итак, приступаем к созданию первой программы. Прежде всего нам нужно запустить Eclipse IDE. Далее заходим в меню File - New - Project... Появится окошко показанное на рисунке 1. В нем выбираем тип проекта - Android Project. Далее появится окно в котором нужно будет заполнить довольно много полей (см. рисунок 2).
В поле Project name пишем название нашего проекта: Hello world В поле Build target выбираем версию ОС под которую будет рассчитано наше приложение: выбираем версию 1.5. Если список версий не отображается, значит вы не указали или неправильно указали в настройках расположение Android SDK. Подробнее читайте в FAQ по настройке и установке Eclipse IDE. В поле Aplication name вводим название приложения (под каким именем приложение будет отображаться в телефоне): Hello world В поле Packege name указываем пространство имен, которое будет использоваться в программе. Все пространства имен пишутся без пробелов, используя точку. Указываем пространство имен: com.example.hello В поле Create Activity обязательно ставим галочку и пишем название метода, который будет вызываться при запуске нашей программы: MainActivity В поле Min SDK Version указываем минимальную версию SDK, в которой нормально должна работать наша программа. Тут нумерация несколько необычная. Дело в том, что в Android OS версии идут начиная с 1.5 то есть 1.5, 1.6 и т.д. до версии 2.3. Так вот по версия 1.5 считается 3 версией по данной нумерации. Версия 1.6 будет уже 4 версией и т.д. Вот такая особенность. В данном поле мы указываем значение 3. Всё, заполнив все поля нажимаем кнопку "Finish". Проект создан. В окне среды программирования можно найти наш проект используя вкладки Navigator или Packege Explorer (см. рисунок 3). Несколько слов о структуре папок в приложении, знать их очень важно для любого разработчика. В папке SRC лежат исходные коды нашего приложения написанные на языке Java. Пока там лежит только файл MainActivity.java с исходным текстом нашей программы. В папке RES находтся все ресурсы нашей программы, папка RES имеет 3 подпапки: drawable, layout, values. В папке drawable лежит вся графика, используемая в приложении. Пока там лежит только иконка нашей программки icon.png, но если в вашей программе есть и другие картинки, то все их нужно копировать именно сюда. В подпапке layout лежат XML файлы с разметками форм нашего приложения. Пока не буду объяснять что это и зачем, опишу позже. В папке values также содержится XML файл(ы) с описанием некоторых переменных. Чаще всего тут хранят различные строки с текстом. В папке GEN лежат различные Java классы генерируемые при компиляции, сюда лучше не лезть. В папке BIN будет лежать уже скомпилированный APK файл нашего приложения, который можно будет закачать в реальный телефон и проверить работоспособность программы там. Итак, краткий обзор папок приложения я провел. А как же его запустить в эмуляторе? Для этого жмем клавиши Ctrl+F11 или через меню Run - Run в итоге у нас появится окошко с вопросом как запускать это приложение (см. рисунок 4). В данном окне нужно выбрать строчку "Android Aplication". Ура! Начался запуск эмулятора телефона. Эмулятор запустился и сразу порадовал нас заблокированным экраном (см. рисунок 5). Не очень дружелюбно с его стороны. Сначала нам нужно снять телефон с блокировки. Для этого нужно мышью нажать на картинку замочка и переместить замочек вправо. Появится рабочий стол мобильного телефона (см. рисунок 6). Снова нашей программы не видать. Где же она? Нажимаем мышью на кучу квадратиков в нижнем углу экрана. Появится главное меню мобильника (см. рисунок 7). Ну наконец-то, можно увидеть иконку нашего приложения Hello World. Теперь для запуска приложения кликаем по его иконке и лицезреем на экране работу нашего первого приложения под Android (см. рисунок 8). Что происходит при запуске приложения? При запуске приложения запускается указанный нами при создании приложения класс MainActivity.java Класс крайне прост, его исходный код по сути состоит всего из 2 строк: Код:
package com.examles.hello; startApp - вызывается при запуске программы pauseApp - вызывается при сворачивании программы или при входящем звонке во время работы программы destroyApp - вызывается при закрытии программы Аналогичную ситуацию мы видим и в Android программе, но тут методов больше и они немного другие: onCreate - вызывается при открытии программы, но перпед запуском onStart - запуск программы onPause - пауза в программе onResume - продолжение работы программы после паузы onStop - остановка программы, но ещё не закрытие onDestroy - закрытие программы onRestart - перезапуск программы Итак, возвращаемся к нашему исходному коду. В нем мы видим, что в нем есть определение метода onCreate. Причем вся программа занимает всего 2 строки. super.onCreate(savedInstanceState); - тут мы передаем обратно данные которые приняли при запуске приложения, так как мы их никак не используем, то передаем их дальше по очереди другим приложениям setContentView(R.layout.main); - тут мы выводим на экран форму под названием main Итак, наша программа просто выводит на экран некую форму под названием main. Надо сказать, что программы под Android очень похожи по своей структуре на обычные приложения для Windows. И там и тут приложение состоит из непосредственно кода и одной или нескольких форм, которые выводятся на экран. Тут ситуация та же. Код программы всего лишь выводит на дисплей некую форму под названием main. Может посмотрим на состав кода в данной форме? Код этот можно посмотреть в папке res/layouts/main.xml вот этот код: Код:
<?xml version="1.0" encoding="utf-8"?> Код:
<?xml version="1.0" encoding="utf-8"?> Как поменять выводимый на экран текст на свой? Решений данной проблемы три: 1. Открыть файл strings.xml и изменить значение переменной hello на свой текст непосредственно там. При этом откроется симпатичный редактор показанный на рисунке 9. Попробуйте поменять так текст переменной на строку "Тут был Вася Пупкин", к примеру. Среда отлично понимает русский шрифт. 2. Немного подправить сам файл с формой (main.xml) Исправлять нужно немного: Код:
<?xml version="1.0" encoding="utf-8"?> Код:
package com.examles.hello; |
Ответ: FAQ: Создание нового проекта на примере Hello world
odd, можешь попробовать сделать и описать вот это:
http://microemu.blogspot.com/2008/11...n-android.html ? |
Ответ: FAQ: Создание нового проекта на примере Hello world
Прикольно. Насколько я понимаю, то там используется какой-то перекодировщик из Java в Android. Попробую обязательно. Если получится, то сделаю утилиту для автоматического преобразования, как я сделал для BlackBerry.
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Да, с такой утилитой было б круто. Сейчас у меня ничего не выходит на этапе сборки..
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Я тоже пока застрял на сборке. Но может все и получится.
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Вообще я читал, что опера мини была так портирована.
А она работает очень даже быстро. Так что способ не лишен смысла. Тем более единственный аналог - netmite работает не очень хорошо и требует установки эмулятора в телефон. |
Ответ: FAQ: Создание нового проекта на примере Hello world
Да, я тоже Netmite откопал, но что-то у меня программы не работают под ним. Тем более нужно в телефон эмулятор ставить.
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Микроэмулятор можно еще для портирования на iOS использовать.
Было бы очень неплохо научиться наконец им пользоваться. Кажется нашел проблему. В Build.xml указаны пути не соответствующие расположению файлов в SDK. Tools переместились в Platform tools. После долгой возьни всё таки скормил build.xml со всеми настройками ant'у. 14 ошибок при компиляции примера(( Логи указывают на исходники микроэмулятора. http://textsave.de/?p=65887 ЧАСТИЧНАЯ ПОБЕДА! Программа собрана. Проблемы: - не фуллскрин - не фиксированая ориентация - вылетает довольно быстро |
Ответ: FAQ: Создание нового проекта на примере Hello world
Так что, есть где-нибудь faq на русском по портированию прог с j2me на андроид?
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Вложений: 1
У меня эмулятор чудит:
Вложение 16855 Что за шайтан? P.S. Предварительно эмулятор спрашивает, какую камеру выбрать, а затем выплевывает кучу окошек командной строки. ...Спустя 5 минут... А, не, все нормально. Оказывается, это он так долго запускается О_о |
Ответ: FAQ: Создание нового проекта на примере Hello world
Эмулятор вообще лучше не закрывать.
|
Ответ: FAQ: Создание нового проекта на примере Hello world
А есть где нибудь (тут на форуме или вообще) справочник вида
%команда%|%зачем она нужна%|%фичи/баги%|%пример использования% ну типа Код:
Команда: DrawText (text:string,x:integer,y:integer); |
Ответ: FAQ: Создание нового проекта на примере Hello world
На английском языке все есть: http://developer.android.com (справа поле "search developer docs"). Вот только я так и не разобрался :(
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Цитата:
|
Ответ: FAQ: Создание нового проекта на примере Hello world
Цитата:
|
Часовой пояс GMT +4, время: 10:50. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot