Приятного времени суток!
Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…
Чуть больше месяца назад на хабре мелькнул пост что ВКонтакте объявил конкурс на мессенджер под Android. Не знаю зачем и почему, мне прям капец как захотелось заскочить в этот поезд, что и было сделано. В целях изначально НЕ было пункта о призовом фонде. Не верю я что парень, впервые начавший писать сможет написать сочинение на хотя бы на 3. Ведь участников конкурса достаточно много и есть спец. конторы, которые тоже едут в этом поезде. К тому же постоянное место работы не дает отвлекаться на разработку приложения в рабочее время, поэтому, если вычесть время на работу, сон, семью из отведенных 1,5 месяца данных по условиям конкурса, остается совсем немного. Но (на мой взгляд), за 1,5 месяца более чем реально новичку сделать полностью работоспособный проект.
В данной статье, я хотел бы поделиться ссылками на ресурсы, которые так или иначе способствовали продвижению к заявленной правилами цели. Надеюсь что в комментариях кто-нибудь поделится своим списком решений.
Итак, вспомним детали:
В тоге приложение должно выглядеть примерно так:
Это мой первый «проект» под Android. В достаточно сжатые сроки (определенные условием задачи) удалось узнать достаточно много новых и интересных особенностей разработки под Android и механизмов решения конкретных задач.
Начальным этапом становления android разработчиком для меня стало изучение следующих уроков. Вполне понятные для начинающего разработчика уроки, число которых постоянно увеличивается. Данные уроки дают базовые знания, которые весьма неплохо помогают новичку ориентироваться в теме.
Взяв карандаш, я накидал примерный план действий и совершил свою роковую ошибку. А ошибка заключалась в отсутствии хотя бы примерных сроков выполнения функциональности.
Данные по условию задачи изображения элементов интерфейса, в большинстве своем, пришлось обрабатывать перед использованием.
- Android nine-patch — растягиваем андроида
- Улучшенный 9-patch редактор
- Тонкости 9-patch ресурсов
- Верстка
- Стилизация приложений часть вторая
- How to create popups in Android
Свою работу я начал с Tab'ов:
Далее решил воспользоваться анимацией
Вскоре дошло время и до взаимодействия с API ВКонтакте. Хороший импульс мне придала статья
Затем настало время кастомизации списков ListView
- ListView в Android: Простое использование
- ListView в Android: Кастомизация списков
- Загрузка фоток в очереди
- CursorAdapter with Alphabet-indexed Section Headers
- android-section-list
- android-amazing-listview
- Separating Lists with Headers in Android 0.9
- Фоновая подгрузка списков
- Выбор Pull To Refresh инструмента
- Работающий Pull to refresh
Загрузка аватаров
Работа с AsyncTask
- Заметки о ProgressDialog или как правильно показать прогресс выполнения
- Простое использование AsyncTask и ProgressDialog в Android
Для работы с БД
Декомпилировать apk
- Реверс-инжиниринг android приложений
- Полная декомпиляция Android приложений в Java код
- Разбор вредоносной программы под Android на примере Trojan-Spy
- Защита Android приложений от реверс-инжиниринга — ProGuard
Push уведомления
- С2DM. Что это такое? (Часть 1)
- Работа со строкой состояния в Android
- Как пришлось бороться с нестабильным Google C2DM
- Пишем приложение под Android с поддержкой Cloud to Device Messaging (C2DM)
Но счастье никогда бы не было настолько полным, если бы за пару недель до окончания конкурса Google не выпустили новую версию GCM. Создав таким жестом проблемы многим участникам конкурса. Для тех, кто не успел получить реквизиты C2DM осталось два пути: использовать новый GCM или декомпилировать одно из приложений, выложенных в маркете.
Ну и не стоит забывать google в связке со stackoverflow по прежнему творят чудеса.
Примеры работ участников конкурса можно посмотреть в маркете (раз, два, три, четыре). По первой ссылке автор выпустил очень много версий. Все эти проекты можно декомпилировать и поглядеть кто как реализовывал ту или иную часть функционала.
В сухом остатке мне удалось за сжатые сроки понять некоторые принципы работы Android приложений (стоит наверно выделить AsyncTask и работу с ListView). К сожалению вчера мной было принято решение сойти с поезда, т.к. я просто не успеваю предоставить «полностью выполненную работу» в 21:00 MSK 10/07/12. Увы.
В маркете публиковать свое недоделанное приложение не стал ибо планов по его доработке и поддержке нет.
Удачи участникам.
Автор: iklementiev