Пока платформа Android набирает популярность, самое время обзавестись литературой по программированию Android-устройств.

Jerome DiMarzio – “Android. A Programmer’s Guide”

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

Содержание книги:

  • Установка и настройка Java, Eclipse и Android-плагина.
  • Создание Android-проектов из Eclipse UI или командной строки.
  • Работа с функциями телефона.
  • Интеграция веб-контента: картинки, галереи и звуки.
  • Выпадающее меню, прогресс-бары и функции авто-заполнения полей.
  • Интеграция GPS, Google Maps, Google Earth и GTalk.
  • Создание интерактивных баз данных SQLite.
  • Тестирование приложений с помощью Android Emulator и Debug Bridge.

Книгу уже сейчас можно заказать на Amazon’е.

Chris Haseman – “Android Essentials”

Чем может быть полезен сей труд? Он может помочь:

  • Понять как функционирует приложение для Android и как оно взаимодействует с устройством.
  • Понять работу таймеров, сервисов, а также функции обработки медиа-контента.
  • Научиться создавать собственные компоненты (widget’ы).
  • Понять почему геопозиционирование становится все более популярным в мобильном мире.
  • Разобраться как пользоваться API для работы с Google Maps на Android-устройствах.
  • Научитсья организовывать сетевое взаимодействие мобильных приложений для Android.

Книгу уже сейчас можно заказать на Amazon’е.

Reto Meier – Professional Android Application Development

В книге описано:

  • Введение в разработку для Android.
  • Углубленный взгляд на Android-приложения, их жизненный цикл, использование манифестов, Intents, а также на использование внешних ресурсов.
  • Подробности по созданию сложных пользовательских интерфейсов с помощью улучшения существующих и создания ваших собственных компонентов.
  • Подробный взглянуть на способы хранения данных, получения и совместного использования настроек, файлов, баз данных и контент-провайдеров.
  • Инструкции для работы с картами, location-based сервисами и геокодером.
  • Разработка фоновых сервисов, работа с потоками и уведомлениями.
  • Комуникационные возможности: работа с SMS, телефонией, сетевое взаимодействие.
  • Работа с аппаратными устройствами, включая камеру, акселерометры, компас.
  • Межпроцессовое взаимодействие, 2D/3D графика, взаимодействие с пользовательскими устройствами.

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

Книга доступна для предзаказа на Amazon’е.

По поводу литературы на русском… Это больная тема. Даже если она будет, то скорее всего не скоро и, скорее всего, качество перевода, как это часто бывает, будет не самое лучшее… Поэтому пока довольствуемся тем что есть.

PS: И немного о приятном. В сети есть чудесная книжеца – AndBook, которая может помочь начать разрабатывать приложения для Android. Книжеца на английском, зато бесплатная, доступна для заргузки в PDF-формате.

Previous ArticleNext Article
Технический директор IT-Dimension, компании-разработчика кросс-платформенного программного обеспечения

Leave a Reply

Your email address will not be published. Required fields are marked *

П.

Презентация первого Android-устройства, HTC Dream, состоится 23го сентября

Презентация HTC Dream, превого Linux-смартфона на платформе Google Android анонсирована на 23е сентября. Мероприятие, проводимое оператором сотовой связи T-Mobile, состоится в Нью-Йорке.

По данным Wall Street Journal, T-Mobile начнет продажи HTC Dream во второй половине октября этого года. HTC планирует продать в этом году до 700 тысяч устройств HTC Dream.
Для тех разработчиков мобильных приложений, которые уже начали разработку для Goole Android, появление первго устройства для этой платформы может стать неплохим подспорьем в процессе отладки и тестирования своих приложений.

Для тех же, кто еще только думает начать разрабатывать ПО для Android-устройств, думаю, будут интересны следующие ссылки:

М.

Мой путь в Android Market

Дааа.. тяжелый труд – копать на поле кукурузу… В этот раз я расскажу о своем первом опыте разработки коммерческих приложений для Android и о том, как мне, все же, удалось попасть на Android Market (ну не мне лично, а моему приложению, конечно же).

Итак… А началось все давно, а точнее сказать тогда, когда я начал писать статьи о программировании для Palm WebOS. В ходе написания, собственно, статей, появилась потребность в обучении на каких-то реальных примерах и как раз один из моих знакомых рассказал о том, что запускает сервис файлообмена для мобильных устройств. Файлы планировалось загружать на сервер и отсылать URL загруженного файла по SMS. Такой вот нехитрый способ обмениваться, например, фотографиями с мобильного телефона.К этому моменту уже была готова Web-based версия сервиса и я предложил написать к нему еще и приложение для Palm WebOS. На тот момент мой опыт разработки для Palm WebOS был без малого 8 рабочих дней (я заканчивал 8ю статью из этого цикла, статьи писал по одной в день). Для того, чтобы по-бвстрому слепить приложение для WebOS у меня ушло около 15ти часов. И еще около двух часов чтобы написать PHP-скрипт, который бы использовался для отправки файлов этим приложением и выдавал результаты в формате JSON.

После того, как WebOS версия была закончена, возник вопрос о разработке подобных клиентов для других мобильных платформ. Довльно быстро были сделаны версии для Windows Mobile и Maemo. Версия для Windows Mobile работала как shell extension для Inbox и меню контактов и просто открывала сайт в Internet Explorer c уже заполненным полем получателя. Версия же для Maemo работала аналогично с версией для WebOS – отсылала файл на сервер и получала JSON-ответ от скрипта ну и дальше по обстоятельствам.

Затем очередь дошла до Android. О да, это еще та эпопея…

Во-первых, версий Android’а, доступных и повсеместно используемых на рынке целых три – 1.5, 1.6, 2.0.

Для всех этих трех версий используется различное API для работы с контактами и то что успешно работает в версии 1.5 совсем отказывается что ли-бо выполнять в версии 2.0. Так же история обстоит и с API для отправки SMS.

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

Дальше… Отправка файлов. Для этой цели пришлось использовать библиотеку httpmime и apache-mime4j с сайта Apace. Хвала Супермарио, но Java-таки кросс-платформенна 🙂 – JAR файлы с сайта Apache чудесно заработали и для Android без каких-либо лишних теложвижений.

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

На реализацию, тестирование, подготовку, различные доделки-переделки ушло ну… недели две рабочего времени минимум. Может больше.

Дальше… Графика. А точнее иконка. Почитав описание Android Application Icon Guidelines я понял что моей мозговой активности явно недостаточно чтобы слепить что-то удобоваримое. И я решил заказать графику (ну вот да, иконку) на фрилансерском сайте, а точнее на free-lance.ru

На самом деле хотелось дешево и сердито, а полоучилось.. ну, не дешево, и даже не сердито. Просто получилось! На проект откликнулось двое фрилансеров. Первый предложил 4000 рублей (не знаю сколько это денег, я в русских тугриках не специалист. Но что-то мне подсказывает что это больше 100 баксов ибо в уме почему-то всплывает цифра 30 – приблизительно столько просят за одного американского президента). 100 баксов это как-то… печально, учитывая что разработку я финансирую из своего кармана, а президентов я как бы и не рисую, а зарабатываю трудом праведным (вполне). Второй фрилансер (барышня) предложила слеить мне иконку за 19 баксов. Ок, более менее приемлемо (хотя и не “за еду”, как я рассчитывал). К тому же обещано было, что иконка будет сделана за сутки (круть, люблю когда быстро). Я предложил что да, если будет сделана за сутки, то доплачу еще 10% (как по мне, вполне человеческий способ стимулирования. На мелких проектах, конечно, эффект мало заметен, но обычно вполне неплохо работает когда сроки важны).

И о чудо! В три часа ночи иконка сделана! Это прям праздник какой-то! Мне последние два раза очень везет на фрилансеров. Получил я в результате PNG файл 48×48 и EPS-файл с вектором.

Положил я этот PNG файл в папку drawables своего проекта, но фак! Почему-то он не виден на эмуляторе! Как была зеленая с роботом, так и осталась! Детальное изучение проблемы под микроскопом показало что для различных разрешений экрана нужны иконки разного размера (ну и скажите мне, где это написано в гайдлайнах?). После манипуляций с фотошопом, на которые мозговой активности у меня, все же, хватило, были созданы PNG-файл размером 36×36 и 72×72, которые затем перекочевали в нужные папки ресурсов.

Пересобрал и о, да! Иконка в порядке. Можно постить на Android Market!

Но не тут-то было…

При попытке загрузить сборку Android Market мне объяснил что я не прав и аргументировал это тем, что неймспейс в моем приложении начинается с com.android, а так делать нельзя. Странно, почему я это узнаю ПОСЛЕ а не ДО загрузки сборки? Пришлось исправлять…

Затем мне объяснили что я еще более неправ, потому что я как-то неудачно родился не в США, а в Украине. Для того, чтобы иметь возможность постить платные приложения, нужна учетка в Google Checkout, а зарегистрировать ее можно только (если мне память не изменяет) в 7ми или 8ми странах. Украины, естественно, в списке нет. Ну вот это уже вобще свинство! Я столько работал, чтобы вот так все бросить на пол-пути? Ну уж нет! Индейцы не ищут легких путей! И пошел я… нет, не нафик, пошел я на сервис SlideMe, который является альтернативой Android Market и также имеет свое приложение-клиент, с помощью которого можно покупать другие приложения.

К счастью, на SlideMe более лояльно относятся к разработчикам из других стран и я довольно быстро завел себе там учетку и разместил приложение. Единственное что меня немного смущает, в описании сервиса они говорят, что для получения выплат надо  будет заполнить кое-какие документы для налоговой США, но это потом. Сейчас же для меня главное то, что приложение приняли и оно доступно для заргузки, а еще больше приятно то, что оно доступно для покупки 🙂 Таки вот оно! SMSMyFile – отправляем файлы через SMS!

Порадовал тот факт, что на SlideMe можно не только указать описание приложения, а еще и выложить скриншоты, а главное видео! За 5 минут сварганил видео с помощью CamStudio (бесплатная кстати, я ею и скринкасты все записываю) и выложил на YouTube. Ссылку – на SlideMe.

Для того, чтобы получать платежи со SlideMe, надо указать как минимум карту, на которую вы будете получать оплату. Здесь мне помогла MasterCard, полученная, в свое время, от RentACoder. Она, в последнее время, меня везде спасает 🙂

Карточку, к тому же, надо верифицировать. У меня пока сделать этого не получилось, пришлось писать в службу поддержки. Вот сутки уже жду ответа…

Если вы хотите продавать свое приложение с помощью SlideMe, надо сделать некоторые изменения в коде:

  • Добавить JAR-файл в проект (доступен для загрузки на SlideMe)
  • Добавить Activity в проект (код для вставки доступен там же)
  • Добавить пару строк в манифест приложения – зарегистрировать там Activity и пару привелегий для приложения.

Более подробно об этом можно узнать здесь. На внесение изменений у меня ушло 5 минут, что, на самом деле, очень классно.

ОК, со SlideMe закончили. Следующий на очереди AndAppStore.

AndAppStore – еще одна площадка для продажи Android-приложений. Регистрация там тоже несложная. Получать оплату можно через Google Checkout (будь он неладен) и PayPal.

Все классно, но бесит одно – процесс подготовки приложения к публикации ну очень муторный…

Сначала надо создать профайл для приложения на сайте, потом сделать API Key для приложения, получить Application ID, затем сгенерировать какой-то приватный ключ.

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

Сервис позволяет указать описание для приложения (чистый текст, без HTML) и загрузить скриншоты. Какие еще плюшки – будет видно дальше.

Итак, два сервиса нашел, но меня никак не покидало чувство, что с Android Market’ом я “что-то делаю не так”. Пошел еще раз регистрировать приложение… Повводил значения ао все поля, долго смотрел на форму регистрации и ссылку на Google Checkout… Затем, все же, пошел на форму регистрации Merchant Account’а в Google Checkout. На эту форму тоже смотрел долго пока, наконец, меня не осенило…

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

В качетсве адреса указал адрес банка, выдавшего мне карту от RentACoder’а. Ну и номер самой карты. И о чудо! Зарегистрировался!

Это позволило мне добавить приложение в Android Market. Цену для приложения указал символическую – $0.99 (а что, все так делают).

Android Market позволяет указать короткое описание приложения (50 символов), обычное описание приложения (300 символов – мало вобще-то) и загрузить скриншоты. Скриншотов должно быть обязательно два (или вобще ни одного). Еще можно загрузить промо-картинку 180×120.

Итоги

  • Потрачено на регистрацию: 1 сутки
  • Зарегистрировался в: SlideMe, Android Market, AndAppStore
  • Получилось запостить приложение в: SlideMe, Android Market
  • Продаж в SlideMe за первые сутки: 0
  • Продаж в Android Market за первые сутки: 10
  • Возвратов в Android Market за первые сутки: 4
  • Левелап получен: да 🙂

Приложение

smsmyfile-1.0.0-screenshot