Инсталляция выполнена, давайте писать код
Перед началом кодирования мы должны создать новый Проект Андроида.
Создание нового Проекта Android
Чтобы создать новый проект, просто откройте Package Exlporer в Eclipse, щелкнув правой кнопкой мыши где-нибудь на пустом месте и выберите:
New > Project…
Первое Приложение к Андроиду - Шаг 1 .
Выберите Android > Android Project
Первое Приложение к Андроиду - Шаг 2 .
Заполните форму значениями, соответствующими цели Вашего приложения...
Первое Приложение к Андроиду - Шаг 3 .
4. Это все - файлы для Вашего первого Приложения к Android (не паникуйте, почти все они - файлы ресурсов).
Первое Приложение к Андроиду - Шаг 4
Что все эти файлы тут делают?
Поскольку Вы теперь создали свой первый Проект Android, Вы видите, что в новом проекте появляется вот такой набор файлов.
Главный Activity
Переместившись по “/src/your_package_Structure/Hello_Android.java”, вы увидите код, набранный автоматически, так же, при старте нового проекта.
package org.anddev.android.Hello_Android;
import android.app.Activity;
import android.os.Bundle;
public class Hello_Android extends Activity {
/** Вызывается, когда Activity создана. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
/* Говорим приложению использовать
* main.xml layout-файл. */
this.setContentView(R.layout.main);
}
}
Мы могли бы немедленно начать разработку своего приложения, но позвольте мне объяснить назначение еще некоторых файлов.
XML-Layout (main.xml)
ADT создал этот самый основной Activity для Вас. Поскольку мы знаем, что Activity так или иначе походят на JFrames в Swing. В Андроиде мы расширяем класс от Activity и перезаписываем одну функцию, названную onCreate(…). В пределах этой функции мы должны вызвать setContentView (R.layout.main), который заставляет наш Activity использовать main.xml, который был также создан ADT:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=http://schemas.android.com/apk/res/android
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, Hello_Android"/>
</LinearLayout>
У нас есть 'полноэкранный' вертикальный LinearLayout, который содержит единственный TextView, показывающий определенную строку.
AndroidManifest.xml
Давае глянем на AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
package="org.anddev.android.hello_android">
<application android:icon="@drawable/icon">
<activity android:name=".Hello_Android"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Давайте расчленим этот файлик...
Каждый xml-файл начинается с нижеследующей строки, это определяет xml-версию и тип кодирования xml-текста. Копипастьте это во все ml-файлы, если там этого нету.
<?xml version="1.0" encoding="utf-8"?>
Поскольку мы знаем, что один из первых тэгов в каждом xml-файле должен содержать этот атрибут:
xmlns:android=http://schemas.android.com/apk/res/android
Так как это делает кучу общих Андроидских атрибутов доступными.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.anddev.android.hello_android">
</manifest>
<application> - корневой элемент, содержащий объявления всех компонентов, содержавшихся в пакете, на уровне приложения. Этот элемент может также включать глобальные и/или заданные по умолчанию атрибуты для приложения, такие как метка, значок, тема, требование разрешения, и т.д … Здесь мы определяем только значок, делая ‘@-refer’ к изображению, помещенному в "/res/drawable /".
<application android:icon="@drawable/icon">
...
</application>
В <application> мы должны определить все Activity/IntentReceiver, которые должны быть начаты через Intent. В этом случае у нас есть только один простой Activity.
<activity android:name=".Hello_Android"
android:label="@string/app_name">
...
</activity>
Вы вероятно заметили, что package-атрибут в <manifest> вместе с атрибутом android:name в <activity> всегда несут в себе конец package-пути описанной ими Activity (to the Activity described).
Самый внутренний тэг - <intent-filter>, который определяет, какие Intent мы будем прослушивать. Здесь мы хотим запустить Hello_Android, нажимая значок (который был определен в <application>).
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Примечание: процесс отладки Андроид приложения - тот же, что и процесс отладки обычного Java приложения.
Запуск Вашего первого приложения
Теперь мы должны создать 'Конфигурацию’. Откройте списочек у кнопки в верхнем меню Eclipses и выберите "Open Run Dialog..."
Открытие менюшки запуска.
Создание конфигурации запуска.
Теперь Вы можете запустить свое приложение. Вы увидите это:
Первое приложение на Android – результат (версия SDK – m5).
После того, как приложение откроется, Вы сможете также увидеть, что Ваше приложение появилось в быстром меню, отображенное с заданным по умолчанию значком:
Первое приложение на Android – иконка в быстром меню (версия SDK – m5).