Категории раздела
Программирования [69]
разные языки программирования
Создания игр [10]
Статьи о создании игр
Движки [0]
Статьи о программах для создания игр
Игры [1]
Статьи об играх
Приложения (софт) [0]
Програми в помощь игроделу
Главная » Статьи » Создания игр

Разработка под Android — Часть II: Философия разработки
Разработка под Android

Часть II: Философия разработки

1. Что есть программа?

Начнём с того, чем собственно является программа для ОС Android? Она представляет собой пакет с расширением apk — именно его получает пользователь из Маркета. В этом пакете находится скомпилированный код программы (в формате dex), все её ресурсы и данные о ней. 
Каждая программа запускается в своём собственном процессе, что предотвращает полное зависание системы в случае некорректности программы. После завершения работы приложения, ОС "убивает" процесс и освобождает память. 

2. Работа программы

На самом деле apk пакет является архивом (запакованным методом zip) — именно в нём хранится уже упомянутый выше байткод dex, выполняемый в виртуальной машине Dalvik
Программы для Dalvik пишутся на языке Java, но виртуальная машина не использует стандартный байткод, вместо этого в ней используется свой собственный формат байткода. Основное отличие от Java Virtial Machine (помимо своего формата байткода) — это использование регистров процессора вместо стека. 
Так как Android является подмножеством Linux, то программы для ОС можно писать на C++ и еще множестве других языков. Но мы будем иметь дело только сJava
3. Основные понятия

Поднимемся на уровень выше — познакомимся с основными понятиями Android SDK
  • Activities — визуальный компонент приложения. Оно может содержать несколько Activities, а может не содержать (виджеты, живые обои и пр.) В качестве аналога в Windows можно привести окна, но это будет не совсем так. Activities больше напоминают экраны в визардах (мастерах), например при создании нового документа по шаблону в Word. Разница в том, что Activities не обязаны иметь строгий порядок появления, как экраны визарда, они могут переключаться в зависимости от действий пользователя. 
    Замечание: в некоторых письменных источниках понятия переводятся, например Activity переводится как "деятельность", но я буду пользоваться терминами на английском. 
  • Intents. Одно из важнейших понятий, наряду с Activity и ServiceIntent означает "намерение что-то сделать". Причём интентом будет являться любое действие приложения — от "хочу переключить activity и вызвать абонента по номеру" до "хочу вызвать другое приложение". Система анализирует интент и предпринимает оптимальное действие. 
    Intents очень широкая тема, и подробней мы рассмотрим её, когда будем писать свою программу. Пока достаточно знать это. 
  • Service. Очень простое понятие, означающее приложение, работающее в фоне. Это может быть, например, музыкальный плеер или клиент синхронизации. 
  • Broadcast Reciever. Его задача отслеживать системные сообщения и передавать их дальше в приложение. BR тесно связан с интентами. Логику работы примерно можно представить так: приложению требуется отправить СМС (будем считать, что с благими намерениями ;)). Он отправляет intent, система анализирует его и отправляет СМС-сервису приказ отправить соответствующее сообщение, причем приказ принимается именно через Broadcast Reciever
  • Content Provider предоставляет определенные данные другим приложениям. Это могут быть записи в базе данных, изображения и.т.д. 
  • Layout представляет собой схему расположения View и Widgets (о них ниже) на Activity. Существуют линейная, табличная и прочие разновидности. 
  • View можно ассоциировать с методом взаимодействия с пользователем. Другими словами, View — это то, с помощью чего можно управлять приложением. К примеру, touch-жесты тоже являются View
  • WidgetsWidgets являются графическими элементами интерфейса программы. Если View — это способ взаимодействия, то Widget — это сам элемент управления или вывода информации. Виджетом являются многие знакомые вам элементы управления, как то кнопка, поле ввода, поле вывода, окно сообщения и.т.п. 
    Всё то, что мы рассмотрели выше, можно найти в xml файлах Android проекта. Главным из них является AndroidManifest.xml, именно в нём описывается структура приложения и создаются новые Activities, Broadcast Recievers и прочие элементы. 
    На сегодня, думаю, мы закончим, а то сложно воспринимать столько материала, да еще и без картинок smile Если что, задавайте вопросы на форуме, говорите, если я что-то забыл. До новых встреч!
  • Категория: Создания игр | Добавил: graimp (17.11.2011)
    Просмотров: 523 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *:
    Наш опрос
    На каком языке лучше программировать
    Всего ответов: 38
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0