Android 4. Программирование приложений для планшетных компьютеров и смартфонов

Android 4. Программирование приложений для планшетных компьютеров и смартфонов
Автор: Рето Майер
Год: 2013
ISBN: 978-5-699-63735-5
Страниц: 816
Язык: Русский
Формат: PDF
Размер: 31 Мб

Download

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

+

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

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

Android предлагает открытую альтернативу для разработки мобильных приложе­ний. Не имея никаких искусственных преград, Android-разработчики могут создавать программы, которые используют всю мощь стремительно развивающегося мобильного аппаратного обеспечения, и распространять их на свободном рынке. Вместе с ростом продаж мобильных телефонов бешеными темпами растет и интерес разработчиков к платформе Android. По состоянию на 2012 год количество производителей мобиль­ных телефонов и планшетов измерялось сотнями. Среди них НТС, Motorola, LG, Samsung, ASUS и Sony Ericsson. Было активировано более 300 миллионов устройств на базе Android, и каждый день это число увеличивается на 850 тысяч активаций.

Благодаря магазину Google Play разработчики могут использовать преимуще­ства свободного рынка и распространять свои платные и бесплатные приложения для всех совместимых устройств без необходимости проходить процесс утвержде­ния. Базируясь на открытом фреймворке и обладая мощными библиотеками для разработки, Android имеет доступ к более чем 450 тысячам приложений магазина.

Эта книга — практическое руководство по созданию мобильных приложений с учетом четвертой версии Android SDK (набора инструментов для разработки программного обеспечения). Переходя от одной главы к другой, вы познакомитесь с демонстрационными проектами, каждый из которых представляет новые воз­можности и подходы, позволяющие получить максимальную отдачу от платформы Android. В первую очередь в книге рассматривается основная функциональность платформы Android, но также представлены и новые уникальные возможности, благодаря которым опытные мобильные разработчики могут улучшить уже суще­ствующие программы и создать инновационные приложения.

Отслеживание перемещения и поворота устройства

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

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

Определение естественного положения устройства в пространстве

Прежде чем вычислять ориентацию устройства, вы должны понять, какое положение в пространстве является для него естественным. Естественное положение — то, при котором значения по всем трем осям равны нулю. Это может быть как портретный, так и альбомный режим — обычно он определяется размещением логотипов и аппаратных кнопок.

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

Проявив немного фантазии, вы можете представить себя сидящим на корпусе самолета, который летит горизонтально, а устройство на базе Android прикреплено к корпусу прямо перед вами. В этом естественном положении экран направлен в космос, верхняя грань устройства указывает на нос самолета, а курс лежит строго на север (рис. 12.1).

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

Android может переориентировать экран для работы в любом положении. Однако оси датчиков, описанные в табл. 12.1, не изменяются при повороте устройства. Следовательно, ориентации экрана и самого устройства могут отличаться.

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

Чтобы обеспечить корректную интерпретацию положения устройства в пространстве, вам необходимо определить, какова экранная ориентация по отношению к естественной, а не просто полагаться на текущий режим экрана (портретный или альбомный).

Вы можете получить текущее положение экрана с помощью метода getRotation, принадлежащего стандартному объекту Display, как показано в листинге 12.3.