Android Comapping Продолжение студенческого проекта в Летней школе СПбГУ, Математико-Механический факультет, 2009
Состав участников Руководители Николай Артамонов Дмитрий Кичинский Студенты Владимир Куликов Виктор Пасиченко Дмитрий Козорез Дмитрий Манаев Степан Коршаков Юра Землянский
Comapping.com Comapping это онлайн приложение для организации информации Составление планов Классификация информации Введение заметок Файлы программы - Mind map – карты разума
Android Comapping Android основанная на Linux платформа для мобильных телефонов, разрабатываемая Open Handset Alliance (OHA), инициированным Google Цель проекта – написание своего варианта Comapping для платформы Android Приложение создаваловсь на базе Eclipse SDK и встроенного эмулятора телефона
Функциональность (1/2) Приложение позволяет Открывать карты разума сохранённые на SD- карте Авторизоваться под пользователя, зарегистрированного на сайте comapping.com, и скачивать оттуда карты разума Кэшировать данный, что минимизирует используемый трафик
Функциональность (2/2) Просмотрщик карт позволяет Открывать карты в режиме – в формате Explorer или формате Comapping Скачивать прикреплённые к карте разума файлы с сервера comapping.com Дополнительные возможности Прокрутка (scrolling) Увеличение (zoom) Обход карты при помощи клавиатуры Поиск текста
Цели проекта в Летней школе Переход на новый SDK Улучшение архитектуры приложения Налаживание процесса разработки (unit тесты, continuous integration) Оптимизация скорости работы Исправление ошибок Добавление новых возможностей
Улучшения. Рефакторинг Перешли на SDK 1.5 Улучшили структуру папок и пакетов в репозитории Сделали полный рефакторинг главной части приложения MetaMapActivity Выделили часть приложения, отвечающую за получение содержимого карт в специальный модуль, называемый в Андроиде Content Provider и описали его интерфейс на wiki странице. Итог : таким образом мы уменьшили связность кода, четко отделили 3 части приложения : MetaMapActivity, MapActivity и MapContentProviders
Улучшения. Новые возможности. Возможность сохранения карт на SD card Обновлена модель и иконки в соответствии с изменениями в основном приложении Добавлена проверка на наличие SD card Добавлено ограничение на размер открываемых карт Ускорено построение карт Добавлена информация об авторах
Content Provider. Общая информация. Контент - провайдер (Content Provider) представляет собой объект, который обеспечивает разделяемый ( общий ) доступ к различным данным ( музыка, видео, изображения, информация о контактах ) всем приложениям Android Каждый контент - провайдер предоставляет пользователю уникальную строку ресурса (URI), которая определяет, каким типом данных управляет этот контент - провайдер Например : content://contacts/people/ - список всех имен контактов из телефонной книги.
Content Provider. MapContentProvider ComappingMapContentProvider Получает карты с сервера Поддерживает операции получения карты и ее размера, списка карт, login, logout, синхронизации с сервером Uri для доступа имеет вид : "content:// ? FileMapContentProvider Получает карты с SD card Поддерживает операции получения карты и ее размера, списка карт. Uri для доступа имеет вид : "content://sdcard/{path}/{mapname}.comap"
Изменения в архитектуре
Cruise Control Периодически скачивает проект из репозитория и пытается собрать Вся информация сохраняется в лог файл
Android Unit тесты Изучили технологию unit тестов для Андроида Написали тесты для проверки : построения карты LoginActivity MetaMapActivity
Демонстрация
Спасибо за внимание !