Expertus metuit
Программирование для Android, часть нулевая
Опубликовано 2012-02-10 в 07:51

2024-06-10 Этот текст безнадёжно устарел и обновляться не будет.

«Этим полукреслом мастер Гамбс начинает новую партию мебели.» Пошлый эпиграф.

Да-да, перед вами очередной цикл статей про разработку приложений для андроида. Однако от других этот цикл отличается двумя вещами: неформальным языком (местами очень неформальным) и полным ламерством автора в собственно разработке под андроид. Думаю, в итоге получится этакий акынский цикл: что вижу, то и пою, так что не ждите особой изощрённости и утончённости, покровы тут не срывают.

Статьи будут регулярно появляться в этом блоге, все они пронумерованы и доступны через тег android tutorial. Структура каждой статьи одинаковая: один абзац с описанием и ключевыми словами, чтобы читатель мог сразу определиться, интересует ли его дальнейшее; затем идёт собственно текст с иллюстрациями; а в конце — краткая аннотация следующей статьи, список ссылок и примечания. Поскольку я буду осваивать андроидное программирование параллельно с написанием текста, текст может показаться слегка бессистемным, но тут ничего не поделаешь. Ещё одна цель проекта — обустройство программного окружения андроид-разработчика в линуксе, надеюсь, что к какому-то моменту это получится сделать.

Информация Что такое программное окружение? В моей терминологии — это среда разработки, документация, набор скриптов и вспомогательных программ, причём не по отдельности, а тщательно подогнанные друг к другу. Также в окружение входят способы собственно написания/изменения кода программы, изменение каких-либо параметров проекта, добавление файлов, короче — действия. Программы и действия, тщательно подогнанные друг к другу, чтобы было удобно и легко двигаться.

Естественно, я буду в этом цикле навязывать моё собственное окружение, ибо за неимением никакого сгодится любое (а гугл как раз никакого и не предлагает). Но вы вольны его изменять под свои требования и желания, естественно.

Да, вы только что прочитали информационный блок, это набор абзацев, отделённых от остального текста и снабжённый отдельным заголовком. Информационные блоки играют роль сносок, очень тесно связанных с основным текстом.

Итак, часть нулевая.

Что такое андроид, про его версии, программный инструментарий, моральная и техническая подготовка.

Про андроид

Что такое андроид, вы и без меня знаете (я на протяжении всего цикла буду иногда писать слово android по-русски — андроид, так мне удобнее). Ну так вот, про андроид вы наверняка сами знаете всё необходимое раз заинтересовались этой статьёй. Думаю, у вас есть андроидный телефон или планшет, и вы себе представляете его графический интерфейс, как включать-выключать, ставить приложения, удалять приложения и так далее.

С программной точки зрения андроидный девайс представляет собой обычный компьютер (как правило на ARM-процессоре), на котором крутится линуксовое ядро, поверх которого крутится виртуальная машина Dalvik, на которой собственно и выполняется код андроид-приложений.

Андроидные приложения распространяются в виде так называемых пакетов — файлов с расширением apk, внутри этого файла лежат как в архиве все необходимые для работы программы файлы. Для создания приложений используется Android Software Development Kit (SDK), который можно свободно скачать с официального сайта платформы android (мы этим займёмся в следующей статье). Также Google предоставляет возможность разработчикам публиковать их приложения в официальном андроидном магазине приложений, он обычно установлен практически на все андроидные девайсы, за исключением разве что какой-нибудь адской китайщины.

Для написания кода Google предлагает использовать Eclipse, для которого поставляется официальный плагин (Android Development Tools, ADT). Я в этом вопросе с гуглом согласен полностью и тоже буду использовать Eclipse и ADT.

Язык программирования — Java. Не знаете такого? Не беда, научитесь.

Ну, и последнее предупреждение: я не собираюсь заниматься переводом документации или официальных туториалов с английского на русский, так что без хотя бы минимального знания технического английского вы не сможете вообще ничего делать, так как придётся очень плотно работать с документацией по API, справочником по языку и прочими материалами, написанными практически всегда на английском языке.

Про версии андроида

С момента первого выхода андроида google выпустил уже порядочное количество версий платформы. Изначально андроид был ориентирован на телефоны, но версия 3.0 уже была заточена специально для планшетов. Подробно рассказывать об отличиях версий особо смысла нет, достаточно знать стандартные вещи: в новых версиях новые фичи, обратной совместимости нет (то есть приложение, написанное для версии платформы 10 не будет работать на платформе с версией 3). Каждая версия помимо обычного номера имеет также кодовое имя — по названию какого-нибудь сладкого десерта.

Наверняка вы углядели выше слово «платформа», оно неспроста используется. Андроид платформа — это зафиксированный набор фич и способов их использования, а говоря программерским языком — API. Не все версии андроида сопровождались новой версией платформы; система нумерации версий андроида скорее маркетоидная, однако нумерация версий платформы/API сквозная, состоящая из одного числа. По мере выхода новых версий платформы часть API объявлась устаревшей, появлялись новые методы, в общем, всё как обычно.

Версии до 2.4 включительно поддерживали исключительно телефоны-смартфоны. Версия 3 Honeycomb была выпущена специально для планшетов, в ней был полностью изменён внешний вид интерфейса, убрана «телефонность». По сути версия третья версия андроида стала тестовой площадкой для обкатки планшетных фич.

С версии 4 Ice Cream Sandwich была опять добавлена поддержка телефонов, по сути произошло слияние веток 2.4 и 3.

Полный список базовых (официальных) версий с описаниями вы найдёте в википедии. Также учтите, что почти каждый производитель телефонов выпускал собственную версию андроида на основе базовой, добавляя туда свои фичи, либо портируя оные из более старших версий.

Техническая подготовка

Все статьи цикла написаны в «последовательном», «инкрементальном» режиме, то есть вы можете параллельно с чтением делать описываемые действия параллельно с автором. Естественно, для этого вам понадобится компьютер, желательно помощнее. А на компьютере должен стоять какой-нибудь линукс (технические подробности построения и использования программного окружения рассчитаны именно на него). Хорошо также иметь под рукой (но не обязательно) телефон/планшет с андроидом на борту и дата-кабель для подключения девайса к компьютеру.

Программный инструментарий

Какой-нибудь эмулятор терминала для выполнения команд (мы используем линукс, не забываем), а команд в течение всего цикла будет предостаточно.

Одна из целей написания этого цикла статей — детально описать программное окружение для программирования под андроид на линуксе. В это окружение входят редактор кода (eclipse), Android SDK, разнообразные вспомогательные самописные скрипты и так далее (я писал об этом в самом начале). В идеале у разумного читателя не должно возникать вообще никаких технических вопросов в процессе непрерывного и последовательного чтения и выполнения всех рекомендаций.

Ссылки

Читайте в следующей части: установка SDK, изучение SDK, использование инструментов SDK.

следующая часть →

Комментарии

Гость: 4SS | 2013-01-05 в 08:34

На винде бы, попроще будет, юбунта 12.10 совсем мою дискретную графику видеть не хочет (

Гость: ss_100 | 2014-01-12 в 18:30

каким языком надо писать в Android SDK

Sergey Stolyarov | 2014-01-12 в 19:01

Если это вопрос, то Java.

Гость: sss | 2012-02-11 в 00:03

пойдет

Гость: Алексей | 2012-04-14 в 00:59

А почему на Линуксе ? Винда у большинства стоит. А яву надо знать.

Гость: Oss | 2012-11-27 в 11:39

Заинтересовало. Спасибо!

P.S. Лишнее повторное слово в предложении: По сути версия третья версия андроида стала тестовой площадкой для обкатки планшетных фич.

Текст комментария (допустимая разметка: *курсив*, **полужирная**, [ссылка](http://example.com) или <http://example.com>) Посетители-анонимы, обратите внимение, что более чем одна гиперссылка в тексте (включая оную из поля «веб-сайт») приведёт к блокировке комментария для модерации. Зайдите на сайта с использованием аккаунта на twitter, например, чтобы посылать комментарии без этого ограничения.
Имя (обязательно, 50 символов или меньше)
Опциональный email, на который получать ответы (не будет опубликован)
Веб-сайт
© 2006—2024 Sergey Stolyarov | Работает на pyrengine