
Ура! Моё первое Android-приложение официально засветилось на маркете! Называется SportLive.kz и является информационным источником спортивных событий Казахстана, в том числе результатов матчей по всем видам спорта. Источником новостей приложения служит одноимённый сайт SportLive.kz.
К разработке приложения я приступила 12 октября и, так как эта область программирования для меня новая, решила вести учёт времени по всем видам работ своего маленького проекта. В итоге получилась следующая статистика:
- 45.550 ч - изучение и апробация новых технологий
- 1.517 ч - установка и настройка инструментария
- 1.350 ч - проектирование
- 37.583 ч - разработка
- 17.283 ч - отладка
- 11.800 ч - тестирование, поиск и исправление ошибок
- 0.817 ч - синхронизация с системой контроля версий
- 1.067 ч - подбор графики
- 6.483 ч - доработка
- 0.584 ч - оптимизация кода, рефакторинг
- 1.267 ч - организационные работы
Итого 125,301 ч разработки. Впрочем, я ещё в начале пути =)) Приложение будет развиваться, дизайн улучшаться, новые разделы и полезные фичи добавляться.
В общем, писать под Android довольно увлекательно. В моём случае в роли заказчика и источника вдохновения выступал мой парень Макс)) Ему я и посвящаю это своё детище
Большой нашей радостью было то, что под Android можно кодить на Java. Я знакома с этой платформой и этим языком 6 лет, ну, а знакомство с дроидом в этом году предопределило одно из направлений моей будущей работы.
Писать на Java легко и приятно. Хотя, конечно, и трудности были, расскажу о них в двух словах.
В приложении преобладает списочный интерфейс. Основной запаркой было организовать в списке вывод разномастных элементов, которые должны по-разному оформляться. Речь идёт о турнирах и матчах. Способ реализации был выбран путём проб и ошибок. В результате я использовала собственный LinearLayout для элемента списка, инициализируя в нём нужные элементы и удаляя ненужные, - в зависимости от того, какой объект должен отобразиться. Данный функционал содержит сейчас единственный недостаток: визуальные параметры объектов, которые размещаются внутри LinearLayout, задаются в Java-коде, а не через xml-разметку. Со временем избавлюсь от этого, ибо я сторонник отделять логику от представления.
Вторая проблемка: пока у меня не получилось выдерживать весь интерфейс в одной (тёмной) цветовой гамме. По этой причине экран, отображающий полный текст новости, имеет сильно контрастный светлый фон.
Изменить фон WebView в чёрный довольно просто, но когда я через CSS задаю белый цвет шрифта, текст отображается непонятно как, буквы накладываются друг на друга. Не знаю, с чем связан этот глюк, но если обеспечить “чистоту” html-кода, данная проблема исчезает.
В моём случае html-код приходит с сервера с ненужными тегами и комментариями, которые для своих нужд вставляет используемая на сайте CMS. Думаю, я избавлюсь от них в ближайшее время с помощью regexp.
Помимо этого, в приложении я планирую реализовать несколько функциональных доработок, например, проверять наличие соединения, кэшировать данные, логировать ошибки и адекватно реагировать на них. В общем, будем развиваться с ним вместе по мере получения новых знаний
Ну, и как принято в авторских работах, - перечень использованной литературы: