2. Разработка приложений для ОС Android. Hello, World!

1) Alt+Shift+N - Android Application Project
  • Application Name - наименование приложения
  • Minimum Required SDK: API 5: Android 2.0 (Eclair)
  • Build SDK: API 10: Android 2.3.3 (Gingerbread)
  • Create custom launcher icon
  • Create Project in Workspace
Далее выбираем иконку:


2) Далее выбираем BlankActivity. Activity представляет собой экран с пользовательским интерфейсом.
  • Activity Name: Main
  • Layout Name: main
Layout - это графический интерфейс.
3) Обзор проекта:
3.1) Файл Main.java в папке src - это файл содержащий главное activity, т.е. первый экран.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

Метод onCreate выполняется при создании activity.
super.onCreate и setContentView - это обязательное содержание. setContentView - это команда устанавливающая внешний вид окна.
Буква R означает ресурсы в папке res.
3.2) Файл main.xml в папке res/layout. Этот файл содержит пользовательский интерфейс.
3.3) Папки res/drawable-разрешение_экрана содержат картинки, которые будут вызываться как R.drawable.файл. В зависимости от того на каком телефоне запущена программа будут использовать картинки из hdpi, ldpi и т.д. Это не нужно вписывать в код т.к. программа делает это самостоятельно.
3.4) Файл AndroidManifest.xml содержит сведения о программе, которые сообщаются системе или Android Market (Google Play). В этом файле можно указать тему, иконку, разрешения и т.д.
В XML у каждого activity есть своя строчка.

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.myapp.Main"
            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>

Также каждому activity присваивается intent-фильтр.
action.MAIN и category.LAUNCHER означает что мы запускаем MAIN при запуске приложения.