воскресенье, 11 апреля 2010 г.

Введение в мобильную платформу Google Android


Hello, Android

Введение в

Мобильную платформу Google

Ed Burnette
The Pragmatic Bookshelf
Raleigh, North Carolina Dallas, Texas




Многие из обозначений, используемых изготовлениями и продавцами для различия их продукции востребованы, как товарные знаки. Эти обозначения встречаются в этой книге, и Pragmatic Programmers, LLC были осведомленны о товарном знаке, обозначения напечатаны прописными буквами.
The Pragmatic Starter Kit, The
Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf, соединены товарным знаком The Pragmatic Programmers, LLC.
Некоторые части книги воспроизведены из работ созданной и поделенной Google и автором, лицензия Creative Commons 2.5 Attribution License. См.
http://code.google.com/policies.html#restrictions для деталей.
Меры предосторожности были приняты при подготовке этой книги. Однако, издатель не принимает никакую ответственность за ошибки или упущения, или за вред, который могли бы привести примеры из этой книги.
Наши курсы, студии, и другие продукты могут помочь вам и вашей команде в
создании лучшего ПО. Для получения большей информации, пожалуйста, посещайте нас на http://www.pragprog.com

Авторское право © 2008 Ed Burnette.
Все права защищены.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher.
Напечатано в Соединенных Штатах Америки.
ISBN-10: 1-934356-17-4
ISBN-13: 978-1-934356-17-3
Напечатано на бескислотной бумаге.
P1.1 печатая, 26 -го май, 2008
Вариант: 2009-5-26

Благодарности

Я хотел был бы поблагодарить много людей, сделавших эту книгу возможной, включая  моих рецензентов Anthony Stevens, Gabor Paller, Fred Burke, Dianne Hackborn и Laurent Pontier за их внимания к деталям; моего редактораьSusannah Pfalzer и особенно мою семью за их терпение.
Я (переводчик) в свою очередь хотел бы поблагодарить Автора, за сей труд, Анну Сергеевну за терпение и кошечку няшу за поддержку.


Изменения (Cupcake Updates)

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

P1.1- 26-ое мая

Это редакция содержит следующие изменения:
  • Глава, изменения (Cupcake Updates): Новый раздел (вы читаете его сейчас) детализирует изменения сделаные в каждом релизе.
  • Глава, Предисловие: Улучшения в Cupcake.
  • Глава 1, Быстрый старт: Улучшения в Cupcake. Добавлен новый материал по виртуальным устройствам Android(Android Virtual Devices, AVDs). Обновлены иллюстрации экранов с 1.5_r1 и ADT 0.9.1v200905011822-1621.
  • Приложение B: Новое приложение, написание widgets (обновление).
  • Приложение C: Новое приложение, оформление и публикация (обновление).
  • Обновление всех примеров исходного кода, теперь они создаются и запускаются в версии 1.5., однако я не подправлял комментарии, поясняющие примеры[1].
  • Тестирование всех примеров на реальном телефоне с прошивкой 1.5, за исключением MyMap.
  • Изменение: убраны все замеченные опечатки[2].
  • Изменение: исправление сломанных URLs Google с момента выхода предведущего издания.
TODO будущих изданиях:
  • Пересмотр глав и внесение изменений по необходимости.
  • Двойная проверка кода и поясняющих комментариев.
  • Обновление примера MyMap с использованием нового API для масштабирования.
  • Обновление примера OpenGL с использованием нового API.
  • Приложение Widget.
  • Приложение Market.
  • Исправление опечаток #38018.
  • Пожалуйста, сообщайте нам о опечатках по новому и обновленному материалу на форуме[3] или по почте.



Предисловие

Android - новая открытая ОС с пакетом для разработчиков ПО для мобильных платформ, которую создали Google и открытое объединение Handset. В будующем, они рассчитывают внедрить его в миллионы телефонов и других мобильных устройствах, делая Android главной платформой для программистов.
Будете ли вы простым или профессиональным программистом, пишите ПО как хобби или пишите для получения денег, время узнать больше о разработке для Android. Эта книга поможет вам начать.

Создавался ли Android специально?

Сегодня уже много мобильных операционных систем на рынке: Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiMo) и другие. Когда я говорю людям об Android, часто первый вопрос звучит так: почему нам нужен другой мобильный стандарт?
Хотя некоторые принципы появлялись до Android, он первый совмещает их, например:
  • Поистине открытая, свободно для разработки платформа, основанная на Linux и открытом коде: участники Handset могут использовать и изменять платформу без оплаты авторского гонорара. Разработчикам нравиться, потому что они знают, что платформа «имеет корни» и не может быть закрыта одним производителем или быть куплена им.
  • Компонентно-ориентированная архитектура вдохновленная контентам с различных источников: части одного приложения можно использовать в других, в оригинале, не предусмотренных разработчиком. Вы можете даже заменить готовые компоненты вашими собственными улучшенными версиями, это делает новый виток идей и их воплощений в мобильное среде.
  • Тонны встроенных сервисов из коробки: навигационные сервисы использующие GPS или информацию с вышек операторов сотовой связи, изменяющие поведение телефона в зависимости от того где вы находитесь. Полноценная база данных SQL позволяет использовать возможности локального хранения и периодических вычислений, а так же синхронизаций. Браузер и визуализатор карт могут быть встроены в ваши приложения. Все эти встроенные возможности позволяют поднять планку функциональности при одновременном снижении затрат на разработку.
  • Автоматическое управление жизненным циклом приложения: программы изолированы от других многочисленными слоями(layers), которые обеспечивают уровень стабильности системы, который наблюдался раньше в смартфонах. Конечный пользователь не тревожиться о запуске и завершении программ. Android оптимизирует этот процесс для энергосбережения, и контроля за малым объемом памяти, никакая другая платформа ранее не позволяла это.
  • Высококачественные графика и звук: размытие, antialiased 2D-векторной графики и анимация Flash с 3D ускорителями графики OpenGL, для того чтобы создавать новые виды игр и использовать их в коммерческих целях. Кодеки для самых массовых стандартов звука и видео-форматов так же встроены: H.264 (AVC), MP3, и AAC.
  • Портируемость на множество существующих и будущих устройствах: Все ваши программы написаны на Java и исполняются виртуальной машиной Dalvik Android’а, поэтому ваш код может быть портирован на ARM, x86, и другие архитектуры. Поддержка множества методов ввода информации: клавиатура, касания и трекбол. Интерфейс можно изменять для любого разрешения и ориентации экрана.
Android предлагает свежий взгляд на применение мобильных приложений взаимодействующих с пользователем, вместе с техническими решениями, которые сделали это возможным. Но самой лучшей частью Android является софт, позволяющий идти и работать. Эта книга поможет вам быстро начать.

Кто может читать эту книгу?

Единственным требованием будет основы понимания программирования на Java
или подобном объектно-ориентированный языке (C# например). Вам не обязательно иметь опыт разработки приложений для мобильных платформ. Факт: если вы писали программы для других платформ, то вероятно лучше забыть этот опыт.
Android настолько дружелюбен, что лучше начать с чистой головой.

Что в этой книге?

Hello, Android состоит из 3-х частей. Грубо говоря, книга построена от простого к сложному, или от более общих к более менее общим аспектам платформы Android.
Несколько глав посвящены одному примеру: игре Sudoku Android. Постепенно добавляются навороты к игре, вы узнаете много аспектов программирования под Android, включая пользовательские интерфейсы, мультимедия-возможности и жизненный цикл приложений в Android’е.
В первой части, мы начнем с введения в Android. Научимся устанавливать эмулятор Android и использовать интегрированную среду разработки (IDE) для писания вашего ваших первый программ. После этого мы введем несколько ключевых принципиальных концепций жизненного цикла программ Android. Программирование в Android немного отличается от программирования под другие платформы, поэтому необходимо понять эти принципиальные концепции и затем двигаться дальше.
Во второй части повествуется об пользовательских интерфейсах Android, плоской графике, компонентов мультимедиа и простом доступе к данным. Эти навыки будут использованы в большинстве программ, которые вы напишете.
Третья часть углубляется в платформу Android. Здесь вы научитесь соединяться с внешнем миром, создавать навигационные сервисы, встраивать базы данных SQLite, и использовать трехмерную графику.
В конце книги, вы изучите различия между Android’ом и Java Standard Edition (SE), научитесь создавать виджеты и публиковать ваши приложения.


Что нового в Cupcake?

Android 1.5 (Cupcake) имеет несколько улучшений платформы, включая поддержку наэкранных клавиатур, записи видео, и приложений widgets.
Между версиями 1.1 и 1.5 Android API около 1.000 изменений[4]. Для новой версии, каждая страница и пример в этой книге переработан, поэтому они будут работать и с версией 1.5. Большое часть из изменений малы, но несколько разделов были полностью переработаны. Если вы уже читали эту книгу в прошлых изданиях, то изучите изменения в главах:
  • Глава 1, Быстрый старт включает инструкции для использования виртуальных устройств Android (AVDs) из SDK.
  • Глава 8, Навигация и датчики, теперь используется новый SensorManager APIs.
  • Глава 10, 3D-графика в OpenGL, улучшен пример, спасибо новому типу GLSurfaceView.
Дополнительно, из-за пожеланий мы добавляли 2 новых приложения:
  • Приложение B, показывается, как создать Widget для домашнего экрана. Это новая функция в Cupcake.
  • Приложение C, рассказываются шаги маркетинга или свободного распространения ваших приложений Android Market.
Во время чтения книги, Android 1.5 (или более поздняя версия) будет доступена для всех устройств с Android. Все новые устройства будут иметь его, и Google ожидает, что существуя аудитория пользователей Android быстро модернизируют свои версии. Поэтому эта редакция книги не трогает версию 1.1 или более ранние версии.

Online ресурсы

На веб-сайте для этой книги, http://pragprog.com/titles/eband, вы найдете следующее:
  • Полный исходный код для всех примеров программ, используемых в этой книге.
  • Страницу опечаток, с перечислением всех ошибкок и опечаток на настоящее время для этого издания (надеемся, что там будет пусто!).
  • Форум, где вы можете связаться с автором и другими разработчиками Android (надеемся, что он будет полон!)
Вы можете свободно использовать исходный код в ваших собственных приложениях по своему усмотрению.

Резюме

Хотя большинство авторов ожидают, что вы читаете каждое слово в их книгах, я знаю что это не так. Вы можете прочитать столько сколько достаточно для того чтобы писать программу, и после этого, возможно вы вернетесь назад для решения вопросов, которые начали возникать. Я пытался обеспечить вас необходимым минимумом. Каждая глава в этой книге кончается резюме. Эти разделы обеспечат некоторую навигацию для вас, когда вам нужно смотреть книгу беспорядочно. Вы найдете так же ссылки на другие ресурсы, такие как книги и online-документации, в случае, если вы захотите узнать больше о данном конкретном вопросе.
Так, вы ждете? Следующая глава - Глава 1, Быстрый старт, вы создадите ваше первое приложение для Android. Глава 2, Ключевые концепции, введение в фундаментальные понятия и философию Android, и Глава 3, Проектирование пользовательского интерфейса, знакомит с пользовательским интерфейсом, который является самой важной частью программ для Android.



[1] http://www.pragprog.com/titles/eband/source_code
[2] http://www.pragprog.com/названия/eband/errata
[3] http://forums.pragprog.com/forums/67
[4] http://developer.android.com/sdk/1.5_r1/upgrading.html

Комментариев нет:

Отправить комментарий