Разделы

Новости
Статьи
Обзоры

Файловый архив

Форум
Обратная связь
последние непрочитанные новости в RSS RSS

Наш опрос

Интересна ли Вам платформа ANDROID?

Да
Нет
Затрудняюсь ответить

Календарь

«    Сентябрь 2010    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 

Архив новостей

Июль 2009 (1)
Июнь 2009 (9)
Май 2009 (4)
Апрель 2009 (11)
Март 2009 (23)
Февраль 2009 (15)
Январь 2009 (29)
Декабрь 2008 (29)
Ноябрь 2008 (38)
Октябрь 2008 (48)
Сентябрь 2008 (16)
Август 2008 (29)
Март 2008 (7)
Февраль 2008 (17)

Друзья сайта

»  Все про iPhone
»  Все для Symbian
»  Софт для всех платформ

Счетчики



Яндекс цитирования
Google Android » Статьи » Знакомство с Android

Знакомство с Android

Катигория: Статьи | автор: Shurik | 31 октября 2008 | Просмотров: 1086

Часть 1: Простое приложение для Android

 

 
Постановка задачи

Первым нашим приложением для Android будет реализация всем известной игры Life. Местом дейтвия будет прямоугольное клеточное поле, размеры которого запрашиваются у пользователя. Также у пользователя запрашивается начальное количество клеток. Первое поколение расставляется по карте случайным образом. Последующие поколения получаются по следующим правилам:

  • Если у живой клетки меньше двух или больше трёх соседей, то она погибает.
  • Если у пустой клетки ровно три соседки, она оживает.

Все входные параметры должны проверяться на правильность: столбцов должно быть не меньше 5 и не больше 25, строк должно быть не меньше 5 и не больше 35, начальное количество клеток должно быть не больше, чем ячеек на поле. Для реализации поля будет использован класс GridView.

Для разработки была использована среда Eclipse и Android plugin для неё.

Статья будет из трёх частей:

  • Часть 1 - Простое приложение для Android
  • Часть 2 - Переходы между формами
  • Часть 3 - Использование диалогов
  • Часть 4 - Использование GridView

Итак, начнём.

В этой части

Мы создадим проект, рассмотрим его структуру и напишем простое приложение, состоящее из одной формы. На форме будет интерфейс для ввода данных и кнопка Run.

Создание и обзор проекта

На установке Android SDK и плагина для Eclipse останавливаться не будем, т.к. это достаточно подробно описано в официальном мануале. Создаем в Eclipse новый Android Project:

 

После нажатия на кнопку Finish создастся новый проект с такой структурой файлов:

 

Рассмотрим эту структуру внимательнее.

/res/drawable

Сюда помещаются все графические файлы, используемые в приложении. На данный момент там есть только файл icon.png - главная иконка приложения.

/res/layout

В эту папку помещаются файлы, в которых в формате XML описывается внешний вид форм, расположение контролов и т.д. (как dfm-ки в Дельфи). Плагин даже создал разметку для нашей единственной формы и назвал её main.xml. Позже мы рассмотрим ее подробнее.

/res/values

В этой папке хранятся общие константы для всего приложения, как то: текст, используемый элементами управления, цвета, стили и т.д.. Например, если мы хотим вывести "Hello World" в TextView, можно это сделать явно в разметке, как мы всю жизнь делали в тех же dfm-ках или aspx; либо создать в strings.xml константу hello со значением "Hello World", после чего пойти обратно в разметку и в атрибутах этого TextView прописать android:text="@string/hello".

AndroidManifest.xml

В этом файле перечисляются общие свойства проекта (версия, package и прочее), а также все формы (Activities), входящие в проект.

R.java

Это такой специальный сгенерированный класс, посредством которого осуществляется доступ к ресурсам приложения (т.е. ко всему тому, что есть в папке res). Например, R.string.hello возвращает константу с именем hello из strings.xml.

StartScreen.java

Это нам плагин сгенерировал класс для главной (и пока что единственной) формы приложения. Там пока содержится единственный обработчик onCreate, и написано там только setContentView(R.layout.main);. С помощью этой строчки к данной форме привязывается разметка, описанная в файле /res/layout/main.xml

Разметка формы (Layout)

Элементы управления в Android называются Views и наследуются от класса View или ViewGroup. Класс ViewGroup также унаследован от View, но его отличие в том, что в него могут быть вложены другие View или ViewGroup.

 

Плагин создал простейшую разметку для нашей единственной формы (main.xml):

<</span>?xml version="1.0" encoding="utf-8"?>  xmlns:android="http://schemas.android.com/apk/res/android"   android:orientation="vertical"   android:layout_width="fill_parent"   android:layout_height="fill_parent"           android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"   /> 

Вначале задаётся Layout, т.е. правило, согласно которому элементы управления следуют друг за другом. LinearLayout значит, что они идут друг за другом сверху вниз (android:orientation="vertical"). Бывают и другие Layout-ы: TableLayout, с помощью которого можно выстроить контролы в таблицу; FrameLayout, который ставит контролы один на другой; и т.д.

Мы воспользуемся TableLayout

Сделаем вот такую разметку:

<</span>?xml version="1.0" encoding="utf-8"?>  xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="fill_parent"   android:layout_height="fill_parent"   android:stretchColumns="1"   android:padding="10dip"       android:paddingBottom="5dip"            android:text="@string/rows_title"       android:paddingRight="10dip"       android:gravity="right"       android:textStyle="bold"     />            android:id="@+id/RowsEditor"       android:text="35"       android:singleLine="true"       android:numeric="integer"     />       android:paddingBottom="5dip"            android:text="@string/columns_title"       android:paddingRight="10dip"       android:gravity="right"       android:textStyle="bold"     />            android:id="@+id/ColumnsEditor"       android:text="25"       android:singleLine="true"       android:numeric="integer"     />       android:paddingBottom="5dip"            android:text="@string/cells_title"       android:paddingRight="10dip"       android:gravity="right"       android:textStyle="bold"     />            android:id="@+id/CellsEditor"       android:text="100"       android:singleLine="true"       android:numeric="integer"     />                  android:id="@+id/RunButton"       android:text="@string/run_title"       android:textStyle="bold"       android:layout_span="2"       android:layout_width="wrap_content"       android:layout_height="wrap_content"     />    
В файл strings.xml при этом нужно добавить следующие строки:
name="run_title"Run!string  name="columns_title"Columns:string  name="rows_title"Rows:string  name="cells_title"Cells:string

Форма при этом будет выглядеть так:

 

Рассмотрим некоторые атрибуты, использованные в разметке

android:id

Идентификатор элемента. Если он указан, то в дальнейшем его можно найти на форме с помощью метода findViewById(id). Для контролов, которых мы не планируем в дальнейшем трогать (например, для заголовков), можно это свойство и вовсе не указывать. Идентификаторы можно складывать в файл ids.xml, но вместо этого обычно применяется синтаксис @+id/View1. Это означает, что идентификатор View1 добавляется в константы прямо на ходу. В R.java соответствующие поля также добавляются автоматически.

android:layout_width и android:layout_heigth

Свойства layout_width и layout_heigth обозначают, какую часть родительского контрола будет занимать данный элемент управления: всю (fill_parent) или ровно столько, сколько требуется (wrap_content).

android:numeric

Это атрибут EditText. Значение integer значит, что в это поле можно вводить только целые положительные числа.

android:gravity

Устанавливает выравнивание текста в данном элементе управления.

Заключение

Итак, мы создали проект для Android, рассмотрели его структуру, составили разметку для нашей единственной формы.

Страница 1 из 3 | Следующая страница
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 (голосов: 0)

Комментарии (0)  Распечатать

Обсудить на форуме

Добавление комментария

Ваше Имя:
Ваш E-Mail:

Код:
Включите эту картинку для отображения кода безопасности
обновить код
Введите код:

Название темы Пользователь
Смотреть фильм современная кам ...retoiopikott
Скачать видео порно для мобиль ...retoiopikott
Мега члены скачать бесплатноretoiopikott
Смотреть порно онлайн бесплатн ...retoiopikott
Кунилингус книга скачать беспл ...retoiopikott
Бесплатное порно видео америка ...retoiopikott
Супер порно позы бесплатно смо ...retoiopikott
Ретро порно смотреть бесплатноretoiopikott
Скачать бесплатно камасутруretoiopikott
Смотреть бесплатно без регистр ...retoiopikott

Популярные статьи

Новости сети

Популярные файлы