Pull to refresh

Обзор книги «Программирование под Android»

Издательский дом «Питер» corporate blog Development for Android *
Программирование под Android
image
Автор — З. Медникс, Л. Дорнин, Б. Мик, М. Накамура
Перевод — О. Сивченко
Дата выхода — 11.05.12


Представляем вашему вниманию одну из переводных новинок нашего издательства, книгу «Программирование под Android».

Для начала — несколько слов об авторах данного мануала.
Зигурд Медникс — консультант, сотрудничает с ведущими изготовителями комплектного оборудования, корпорациями и другими предприятиями, занимающимися созданием систем на базе Android.
Лейрд Дорнин — старший инженер, работающий на крупном мобильном операторе, имеет богатейший опыт работы с Java, Android, J2ME, SavaJe и WebKit.
Дж. Блейк Мейке — разработчик-ветеран с огромным опытом написания приложений Java для ряда мобильных и серверных платформ.
Масуми Накамура — главный архитектор в группе по работе с большими данными и рекомендациям, работает в компании Where.Inc.

На оригинальной обложке печатного труда сих почтенных авторов сказано: «Если вы программист, обладающий средним или обширным опытом, то при помощи этой книги вы научитесь писать прекрасные приложения для Android». Но к аннотациям, как к текстам априори рекламного характера, часто относятся скептически. Посему проиллюстрируем достоинства и недостатки данного издания выдержками из рецензии американского блоггера Хексера Андерсона. Автор данной рецензии анализирует книгу «поглавно», полный англоязычный вариат можно прочитать здесь.

В течение последних полутора лет программирование под Android — это основная статья моих доходов. Но меня не оставляет ощущение, что во Фреймворке Android по-прежнему остаются некоторые аспекты, которые я когда-то пропустил, либо с которыми еще не сталкивался на практике. Благодаря iSyncr WiFi и Cheetah Sync , мне довелось вволю позаниматься работой с сетями, передачей файлов и разработкой для iTunes. Кроме того, в моем послужном списке солидный объем разработки пользовательских интерфейсов, работы с фрагментами и т.д. Но я не уверен, что действительно знаю всё, что следует знать разработчику Android. Поэтому, я и купил эту книгу, чтобы устранить пробелы в знаниях.

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

Вторая глава книги, «Java для Android», лично меня весьма порадовала. Прежде, чем заняться разработкой под Android, я имел дело, в основном, с C++ и .NET. А в этой главе я нашел целую массу любопытнейшей информации по Java одновременно и полезной, и очень интересной.

В третьей главе довольно обстоятельно рассматриваются основные компоненты, из которых состоит приложение Android: активности (activity), намерения (intent), задачи (task), сервисы (service) и поставщики содержимого (content provider), а также излагается базовая информация о файле описания программы Android, который также называется «файл манифеста», о ресурсах приложения и о жизненном цикле программы.

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

Глава, «Среда Eclipse для разработки программ в Android», в сущности, является трактатом о различных «перспективах» Eclipse, которыми вы можете воспользоваться при написании или отладке вашего кода. Опытные пользователи Eclipse вполне могут пропустить эту главу. Однако здесь упоминается «статический анализатор» для поиска ошибок в вашем приложении этот инструмент называется «FindBugs.»

Шестая глава называется «Эффективное использование Java для Android», самая интересная ее часть касается параллелизма и использования потоков в Android. При разработке под Android действует железное правило: не выполнять долгосрочных операций в потоке пользовательского интерфейса, чтобы пользователь не получал постоянных сообщений «Application Not Responding» (Приложение не отвечает). Итак, в этой главе обсуждается, как пользоваться AsyncTask для выполнения «медленных» операций в новом потоке, чтобы не блокировать поток пользовательского интерфейса. Кроме того, здесь затрагиваются вопросы сериализации и работы с объектами Parcelable — это важные концепции, которые необходимо освоить для разработки под Android. Тем не менее, кажется странным, что параллелизм и сериализация рассмотрены в одной главе.

К обсуждению видов и к разговору о том, как они используются для создания пользовательского интерфейса приложения, авторы приступают только в седьмой главе. Кажется, что эту информацию следовало дать гораздо раньше. Так или иначе, в этой главе рассматриваются вопросы компоновки видов, в частности, макет LinearLayout. Удивляет то, что, несмотря на название главы, «Создание вида», она в основном посвящена реализации архитектуры MVC в Android.

Касательно главы «Фрагменты и многоплатформенная поддержка». Не понятно, каким образом она связана с многоплатформенной поддержкой, поскольку она целиком посвящена фрагментам. Вряд ли эта глава должна стоять именно здесь. Всё-таки, фрагменты сравнительно сложный элемент пользовательского интерфейса, а авторы рассматривают ее, едва познакомившись с видами и разобравшись с обратными вызовами событий? Кроме того, эта глава сравнительно короткая.

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

Следующая глава посвящена жизненному циклу активностей и фрагментов. Кроме того, здесь объясняется, как правильно сохранять и восстанавливать состояния во время жизненного цикла. Здесь также рассматривается интересный материал о поведении задач (и способы их запуска). О флагах намерений рассказано недостаточно хорошо. Тем не менее, это совсем не плохая глава, если не считать ее названия «Каркас работоспособного приложения».

Несколько глав книги посвящены «продвинутым» темам, в частности, воспроизведению и записи видео и аудио в Android, обнаружению местоположения и работе с картами, сенсорам, коммуникации ближнего поля, речи, жестам, доступности и т.д.

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

Заключительная глава «Комплект для нативной разработки в Android (NDK)» — одна из моих любимых частей книги. В этой главе тема NDK практически не раскрыта. Все ограничивается кратким рассказом о том, как загрузить этот комплект, после чего вам предлагается просто опробовать его в своих приложениях. Допустим, но ведь разработчик сначала должен научиться работе с NDK, и лишь потом «опробовать» его. В этой главе рассказано, как и для чего следует использовать такой комплект. Глава краткая и легко читается.

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

Tags:
Hubs:
Total votes 19: ↑13 and ↓6 +7
Views 70K
Comments Comments 19

Information

Founded
Location
Россия
Website
piter.com
Employees
201–500 employees
Registered