Партнеры

Ищете куклу, коляска для кукол.

HelloWorld для Android.

Сегодня на нашем сайте мы публикуем FAQ по созданию простого приложения для платформы Android. Как обычно это бывает, первая программа - это легендарный "Hello, World". Не будем откладывать, сразу скажу, непростое дело в долгий ящик и начнем. Нам понадобится Goggle Android SDK и среда разработки Eclipse. В начале моего повествования хотелось бы сразу отметить, что нам нужна версия 3.3 или 3.4, когда в репозиториях Ubuntu и Debian можно найти только версию 3.2. Перед тем, как установить гугловский плагин, нужно скачать пару/тройку дополнений из discovery для вашего Eclipse. Подготовительная сторона позади, приступим к практической. Запустим Eclipse, далее File->New Project->Android Project
Теперь укажем некоторые данные о будущем проекте: в Project Name добавим «HelloWorld», в Package Name вписать имя пространства имён, в Activity Name - имя класса Activity, в Application Name - имя приложения, которое будет отображаться в загаловке формы и в главном меню. Напечатем в них acivityHello и Hello World соответственно
Интерфейс Eclipse похож на любую другую IDE-среду разработки, например, Delphi или Visual Basic, так что останавливаться не будем на нем.
Запустим свой проект: Run -> Run -> Android Application
Появится эмулятор, почти точная копия того, что мы будем видеть на конечных устройствах gPhone. Вот перед нами та самая форма Activity надписью «Hello World, activityHello»
Все работает на ура, мы добились своего. "Но где же код",- спросите вы. Взглянем на файл res/layout/main.xml, в котором содержится информация о нашем окне, открыв его прямо в среде Eclipse и заметив редактор форм.
Но давайте познакомимся поближе с кодом, кликнув на вкладке main.xml: Вроде бы ничего необычного, хотя... @string/hello - что это? Ведь TextView показывал нам другую надпись, «Hello World, activityHello» Откроем файл res/strings.xml:
Стандартный файл с ключами и их значениями. Взглянем на строки hello. Вот он наш «Hello World, activityHello». Чтобы получить ссылку на значение strings.xml из другого xml, нужно применить вот такую штуку @string/имя_строки немного подправим проект Сменим значение строки hello на «Hello world!» и нажатием на кнопки "-" и "+" в редакторе форм установим такой порядок Код: Пора приступить к написанию кода: Откроем файл src/app.test.helloworld/activityHello.java, в котором описан класс Activity. Вроде все ясно и понятно. setContentView(R.layout.main) - установка местоположения элементов,загружая его из res/layout/main.xml. Напишем код для события создания кнопки Button1 (OnCreate) private OnClickListener btnOnClick = new OnClickListener(){ @Override public void onClick(View v) { } }; Далее свяжем кнопку и этот обработчик. Эта кнопка имеется только в main.xml. Сделаем следующие объявления переменных private Button btn1; private EditText txt1; И вставим код в метод OnCreate: btn1=(Button)findViewById(R.id.Button01); txt1=(EditText)findViewById(R.id.EditText01); Примечательно, что мы задействуем обращение к файлу ресурсов для получения ссылки на элементы управления. Как мы можем заметить, Eclipse подсвечивает строчки кода как ошибочные. Source->Organize Imports позволяет сделать нужные импорты. Добавим btn1.setOnClickListener(btnOnClick); в событие onCreate, а в сам обработчик: txt1.setText("It works!"); Еще раз запустим и убедимся, что все работает!
Вот весь код: package app.test.helloworld; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class activityHello extends Activity { private Button btn1; private EditText txt1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1=(Button)findViewById(R.id.Button01); txt1=(EditText)findViewById(R.id.EditText01); btn1.setOnClickListener(btnOnClick); } private OnClickListener btnOnClick = new OnClickListener(){ @Override public void onClick(View v) { txt1.setText("It works!"); } }; }