Development for Android
10 July 2012

Конкурс ВК: Мессенджер для Android. Как это было!?

Приятного времени суток!

Сколько человек хочет заняться разработкой под Android, но в силу определенных обстоятельств все никак не может начать (у кого-то нет времени, кому-то скучно просто прорешивать примеры, лень, неопределенность)? Сколько человек добавляет каждую, кажущуюся интересной и полезной, статью на хабре в избранное и забивает? До конкурса ВКонтакте на разработку мессенджера под Android, я был среди числа вышеописанных пользователей. Но в один роковой момент все изменилось…

Чуть больше месяца назад на хабре мелькнул пост что ВКонтакте объявил конкурс на мессенджер под Android. Не знаю зачем и почему, мне прям капец как захотелось заскочить в этот поезд, что и было сделано. В целях изначально НЕ было пункта о призовом фонде. Не верю я что парень, впервые начавший писать сможет написать сочинение на хотя бы на 3. Ведь участников конкурса достаточно много и есть спец. конторы, которые тоже едут в этом поезде. К тому же постоянное место работы не дает отвлекаться на разработку приложения в рабочее время, поэтому, если вычесть время на работу, сон, семью из отведенных 1,5 месяца данных по условиям конкурса, остается совсем немного. Но (на мой взгляд), за 1,5 месяца более чем реально новичку сделать полностью работоспособный проект.

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

Итак, вспомним детали:

В тоге приложение должно выглядеть примерно так:



Это мой первый «проект» под Android. В достаточно сжатые сроки (определенные условием задачи) удалось узнать достаточно много новых и интересных особенностей разработки под Android и механизмов решения конкретных задач.

Начальным этапом становления android разработчиком для меня стало изучение следующих уроков. Вполне понятные для начинающего разработчика уроки, число которых постоянно увеличивается. Данные уроки дают базовые знания, которые весьма неплохо помогают новичку ориентироваться в теме.

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



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

Свою работу я начал с Tab'ов:

Далее решил воспользоваться анимацией

Вскоре дошло время и до взаимодействия с API ВКонтакте. Хороший импульс мне придала статья

Затем настало время кастомизации списков ListView

Загрузка аватаров

Работа с AsyncTask

Для работы с БД

Декомпилировать apk

Push уведомления

Но счастье никогда бы не было настолько полным, если бы за пару недель до окончания конкурса Google не выпустили новую версию GCM. Создав таким жестом проблемы многим участникам конкурса. Для тех, кто не успел получить реквизиты C2DM осталось два пути: использовать новый GCM или декомпилировать одно из приложений, выложенных в маркете.

Ну и не стоит забывать google в связке со stackoverflow по прежнему творят чудеса.

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

В сухом остатке мне удалось за сжатые сроки понять некоторые принципы работы Android приложений (стоит наверно выделить AsyncTask и работу с ListView). К сожалению вчера мной было принято решение сойти с поезда, т.к. я просто не успеваю предоставить «полностью выполненную работу» в 21:00 MSK 10/07/12. Увы.

В маркете публиковать свое недоделанное приложение не стал ибо планов по его доработке и поддержке нет.

Удачи участникам.

UPD: грязный код

+142
34.3k 1189
Comments 64
Top of the day