Пользователь
0,0
рейтинг
8 января 2013 в 18:05

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

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

Данный hello 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 имеется на официальном сайте разработчиков.

Обратить внимание нужно на следующие строки 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:

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


Теперь при нажатии на кнопку, будет запускаться RegistrationActivity.
@p4p
карма
–5,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (4)

  • +7
    Продолжение статьи возможно будет интересным, а здесь пока ничего толком и нет. Ради того как создать activity и разрешить доступ к интернету не стоило делать отдельной части мне кажется. Вообще про авторизацию с HttpClient и AccountManager много чего уже есть, надеюсь дальше будет что-то новенькое.
    Мне бы было про авторизацию по https интересно посмотреть.
    • 0
      Код будет практически аналогичен я думаю, сам не реализовывал. Для более менее понимающего в java сложного ничего нет:

      HttpsURLConnection

      Когда я сам пытался понять, как это все работает, я метался от одного источника к другому. Статься ориентированна на людей, у которых мало времени, но есть желание.
  • 0
    Может все же «Программирование для Android...»?
  • +2
    Чето я не понял.
    А как же это www.linux.com/learn/docs/686857--android-programming-for-beginners-part-2 ???
    Нужен ли перевод этой статьй ??

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.