Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1

Программирование приложений для мобильных устройств под управлением Android. Часть 1
Название: Программирование приложений для мобильных устройств под управлением Android. Часть 1
Автор:
Жанр: Программирование
Серии: Нет данных
ISBN: Нет данных
Год: Не установлен
О чем книга "Программирование приложений для мобильных устройств под управлением Android. Часть 1"

Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android. Книга является переводом общедоступных бесплатных англоязычных интернет ресурсов. Во второй части книги будут рассмотрены Нотификации (Notifications), Broadcast Receivers, Потоки и асинхронное выполнение задач (Threads & AsyncTasks), Оповещения (Alarms), работа с сетью, графика и анимация, управление тачем и жестами, управление мультимедией, работа с датчиками, определение местоположения и привязка к картам, управление данными, а также классы ContentProvider и Service.

Бесплатно читать онлайн Программирование приложений для мобильных устройств под управлением Android. Часть 1


Основные принципы создания приложения

Сначала мы поговорим о четырех фундаментальных строительных блоках, из которых строятся все Android-приложения. Эти блоки реализованы в виде Java-классов. И первый из этих строительных блоков – класс Activity. Это основной класс, который видят пользователи при запуске приложения. Activity разработаны с целью обеспечения графического пользовательского интерфейса или GUI, и они позволяют пользователям передавать и получать информацию из приложения.

Остальные три компонента работают «за кулисами», поэтому они не имеют пользовательских интерфейсов. Эти компоненты включают в себя:

Service для поддержки длительных или работающих в фоновом режиме операций;

Broadcast receiver – для прослушивания и реагирования на события, которые происходят на устройстве;

Content provider, который позволяет нескольким приложениям хранить и обмениваться данными.

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

Во-первых, давайте поговорим о классе Activity. Этот класс предоставляет графический интерфейс пользователя и обеспечивает взаимодействие с пользователем через этот интерфейс. Как правило, Activity должна поддерживать одно конкретное действие, которое пользователь может сделать. Такое действие, как набор телефонного номера или ввод контактной информации для одного человека, и так далее. Хотя сейчас уже появились устройства с большими экранами, особенно планшеты, и то, что мы называем одним конкретным действием, которое пользователь может сделать, конечно, может измениться. Теперь, в качестве примера Activity, давайте взглянем на приложение «Номеронабиратель».



Вы наверняка знаете, что приложение «Телефон» может открыть пользовательский интерфейс с несколькими вкладками. Одна – для набора номера телефона, одна – для списка вызовов, одна – для контактов. В Android 4.2 исходный код этого приложения фактически является частью приложения «Контакты».

Следующий компонент – это класс Service (сервис). В отличие от Activity сервисы выполняются в фоновом режиме. Поэтому нет необходимости в пользовательских интерфейсах. Вместо этого сервисы имеют две главные цели. Первое – они могут выполнять длительные операции, как правило, отдельно от основного потока пользовательского интерфейса. И второе – они обеспечивают взаимодействие различных процессов для обмена данными.

Для примера давайте взглянем на приложение «Музыка». Приложение «Музыка» имеет несколько различных экранов пользовательского интерфейса, которые показывают, например, ваши музыкальные записи. Показаны песни в исполнении одного артиста, позволяя вам выбрать одну песню данного исполнителя и проиграть эту песню.



Теперь, если вы запустите воспроизведение песни, но затем решите вернуться и посмотреть, какие еще есть песни данного исполнителя или, если вы хотите сделать что-то совершенно другое, например проверить электронную почту, то вы, вероятно, не захотите чтобы при этом воспроизведение прекратилось. Android обеспечит это с помощью сервиса, чтобы музыка продолжала играть, пока вы проверяете почту.

Следующий компонент – это Broadcast receiver (приемник сообщений и событий). Broadcast receiver «слушает» и реагирует на события. И, по сути, он играет роль подписчика в модели «публикация-подписка».

В Android события представлены классом Intent. О нем мы поговорим подробнее немного позже. «Издатели» создают этот Intent и затем рассылают его, используя специальные методы, как бы отправляя в эфир. Далее его принимает Broadcast receiver, который и подписан на этот конкретный Intent. И, приняв Intent, он может отреагировать на произошедшее событие.

Пример приложения, которое использует Broadcast receiver – приложение для обмена сообщениями. Давайте представим, что кто-то хочет отправить мне SMS-сообщение. SMS-сообщение будет создано и отправлено через телефонную сеть и в конечном счете достигнет моего телефона. И когда это произойдет, Android выставит значок уведомления в панели уведомлений, который даст мне знать, что для меня пришло сообщение. Но вы, конечно, никогда не можете точно знать, в какой момент вы получите такое сообщение. Поэтому Android имеет некоторое программное обеспечение, которое просто «сидит» и «ждет» когда придет SMS-сообщение. И когда оно приходит, это программное обеспечение передает в эфир Intent SMS_received. И есть еще один Broadcast receiver, который слушает этот Intent SMS_received, и он, получив этот Intent, запустит сервис, который загрузит и сохранит входящее SMS-сообщение.

Последний компонент – это Content provider. Content provider позволяет приложениям хранить и обмениваться данными. Content provider использует интерфейс, подобный базам данных, но он больше, чем просто база данных. Например, Content provider сможет обрабатывать связи между процессами. Так что приложения, работающие в отдельных процессах, могут взаимодействовать и обмениваться данными безопасно и легко. Приложение «Браузер» является одним из примеров приложений, использующих Content provider. Если запустить «Браузер» и нажать на значок рядом с адресной строкой в браузере, откроется список закладок и сохраненных адресов веб-сайтов для быстрого доступа в будущем. Когда пользователь добавляет одну из этих закладок, браузер сохраняет ее в Content provider.

Если посмотреть на простейшее приложение «Hello Android», мы увидим всего одну Activity. Но мы будем рассматривать более сложные приложения, в нашем случае, включающее в себя две Activity. И, конечно, как вы понимаете, если можно использовать две Activity, то можно добавить и третью, и четвертую и так далее – просто будет больше одной.

Например, приложение «MapLocation» одним из видов Activity позволяет пользователю ввести почтовый адрес. Эта Activity имеет кнопку, которую пользователь может нажать, как только он ввёл адрес. И, нажав на эту кнопку, запустить вторую Activity – «Google Maps», которая представляет собой карту, отцентрированную на адрес, который пользователь только что ввёл.

Следующая схема показывает процесс написания и построения приложений под Android.



Во-первых, вы создаете исходный код и код ресурсов, которые составляют приложение. Далее, вы компилируете исходный код и подготавливаете свои ресурсы. Результатом этого шага является пакет Android или APK, который является исполняемым файлом приложения. Далее APK подписывается цифровой подписью, чтобы идентифицировать вас как разработчика и, наконец, APK устанавливается на устройство или эмулятор и запускается.


С этой книгой читают
Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода.
Цель книги – познакомить читателей с существующими подходами и решениями в области моделирования бизнес-архитектуры предприятия. В книге освещаются различные аспекты данной проблематики, в том числе такие вопросы как базовые подходы к моделированию и возможности современных инструментальных средств.Особое внимание уделяется специфике организации проектов по разработке моделей бизнес-архитекуры. На основе практического опыта реализации проектов по
В этой книге автор, сам прошедший путь от разработчика до менеджера в сфере IT, рассказывает неочевидные моменты, которые являются критически важными для правильного управления. Почему разработчики увольняются после повышения зарплаты? Как делать FixedPrice проекты? Почему Scrum не упрощает менеджмент? Книга содержит ответ на эти и многие другие вопросы. В книге есть много баек, которые показывают тяжёлую, но интересную жизнь менеджера в разработ
Эта книга состоит из двух частей: художественной, где рассказывается удивительная история мальчика, захотевшего стать белым хакером (хотя в ней, конечно же, есть и девочка, а также его друзья), и научно-популярной, в которой дается обучение (она так и называется в книге, ты увидишь ее, когда начнешь читать) программированию и разным другим компьютерным вещам, очень нужным в современном мире. Но на самом деле это единая история, позволяющая задума
Увлекательная книга, которая знакомит юных читателей с основами программирования через простые примеры и интерактивные задания. В каждой главе раскрываются ключевые концепции, такие как алгоритмы, переменные, циклы, ветвления и функции. Дети узнают, как составлять инструкции для компьютеров, решать задачи и создавать свои первые программы на языке Python. Простые объяснения, аналогии из повседневной жизни и практические задания помогут начинающим
Свадебный фотограф Макензи Эллиот превратила свою работу в настоящее искусство. Ее будни – это круговорот цветов, кружев и нескончаемого праздника. Однажды, на репетиции очередной свадьбы, она встречает Картера, застенчивого, обаятельного школьного учителя. Их взаимное притяжение велико, но это и пугает Макензи. Через объектив ее фотоаппарата прошли сотни влюбленных, но лишь некоторые из них стали счастливы по-настоящему.
Бывший оперативник Арина Воробьева мечтала насладиться покоем и тишиной в домике в деревне и отдохнуть от тяжелой работы. Но даже здесь ужасающая реальность настигла Воробьеву. В одну из ночей погибла ее соседка Алла. Арина уже участвовала в расследовании подобного преступления с характерными следами и уликами, но тогда маньяк был пойман и отправлен в колонию строгого режима. Арина пыталась доказать всем, что за решетку попал невиновный, но ее пр
Откройте для себя мир сказки, где главными героями являются лесные обитатели: дикие животные и птицы. Природа всегда удивляет своей красотой и разнообразием.В этом сборнике автор описал повседневную жизнь лис и белок, а также многих других обитателей леса. Вашему вниманию представлен волшебный сборник стихотворений. Погрузитесь в загадочный мир дикой природы.
Ира Лисицына – самая обыкновенная одиннадцатиклассница, которая до безумия мечтает обрести вторую половинку! У неё с другом детства Мишей Журавлёвым есть одна очень добрая традиция – каждый год на новогодние каникулы они ездят в гости к Ириной бабушке. Чем же в этот раз обернётся поездка в деревню, и кто попадётся лучшим друзьям на пути?