- PVSM.RU - https://www.pvsm.ru -

Программирование на Android для web разработчика или быстрый старт для самых маленьких. Часть 1

Доброго времени суток.

Данный hellow world ориентирован на публику которая проявляет интерес к данной теме (Android), но страх перед java не позволяет взяться за разработку. Существует возможность создавать приложения для Android на html5 (phonegap), или php (PFA), но полноценное приложение возможно написать только на Java.

О приложении

Приложение которое будет описано умеет следующее:

1. Запуск из «меню приложений» вашего смартфона
2. Регистрация используя удаленный сервер
3. Авторизация
4. Листинг данных получаемых с сервера

Важно

Я не буду показывать как создавать проект в Eclipse и тем более как устанавливать. Создание виртуального устройства, или установка необходимых компонентов, описывалась бесконечное количество раз и доступно в google по запросу «пишем своё первое приложение на Android». Предполагается что вы владеете базовым синтаксисом Java и xml, а так же знакомы с ООП.

Аналогия с web разработкой и AndroidManifest.xml

При программировании на php ваш сайт имеет точку входа index.php, это первый исполняемый файл (главная страница). В Android роль страниц выполняют Activity. Главная Activity указывается в файле AndroidManifest.xml, он расположен в корне проекта. Описание AndroidManifest.xml [1] имеется на официальном сайте разработчиков.

Обратить внимание нужно на следующие строки xml кода:

<activity>
            <intent-filter>
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
</activity>

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

<activity
            android:name="com.dnt.ctc.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>

Свойства MAIN и LAUNCHER позволяют быть главным и запускаться из меню смартфона. Тут android:label="@string/app_name" это include ресурса strings.xml из папки values проекта. Этот ресурс содержит искомый

<string name="app_name">Ctc</string>

который установит в MainActivity (так называется моя главная Activity) название приложения.
Приложению для доступа к функциям телефона необходимы права (uses-permission). Они также устанавливаются в AndroidManifest.xml и имеют к примеру такой вид:

<uses-permission android:name="android.permission.INTERNET" />

Этот код позволит нашему приложению работать с сетью.

На пути к регистрации

В Android логика отделена от представления, представления располагаются обычно в res/layout и имеют расширение xml. Признаться верстка дизайна на xml дело не простое и имеет множество подводных камней. Создание интерфейса я описывать не буду, элементарный ui можно создать перетаскиванием элементов в Eclipse.

Ваши шаги:

  • 1. Перетащите в файл вида вашего MainActivity кнопку и измените в ней текст на «Перейти к регистрации».

<Button
        android:id="@+id/айдиКнопки"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Перейти к регистрации" />

Сейчас мы научимся переходить от одной Activity к другой. В нашем случае от точки входа к Activity регистрации.

  • 2. Создайте Activity для регистрации, назовите RegistrationActivity.

Откройте свой MainActivity. Первый метод который вы видите в классе MainActivity (название класса == названию Activity) это onCreate, в нем мы и будем работать. Данный метод автоматически запускается при старте приложения.
Предполагается Вами была создана кнопка в представлении (шаг 1), нам нужно ее найти.

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

		// не забудьте добавить import android.widget.Button; // находим нашу кнопку
		Button myButton = (Button)findViewById(R.id.айдиКнопки);

}

Далее нам нужно добавить «реакцию» на клик по кнопке myButton. Допишем код, добавим слушатель к вашей кнопке myButton используя setOnClickListener [2]:

		myButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
                // из MainActivity в RegistrationActivity
				Intent intent = new Intent(MainActivity.this, RegistrationActivity.class);
		        startActivity(intent);
			}
		});

Теперь при нажатии на кнопку, будет запускаться RegistrationActivity.

Автор: p4p

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/24300

Ссылки в тексте:

[1] AndroidManifest.xml: http://developer.android.com/guide/topics/manifest/manifest-intro.html

[2] setOnClickListener: http://developer.android.com/reference/android/view/View.html#setOnClickListener(android.view.View.OnClickListener)

[3] Источник: http://habrahabr.ru/post/165105/