120 likes | 296 Views
СПбГУ математико-механический факультет, 2010. Android Цена Денег. Студенческий проект. Руководители:. Участники:. Ксения Котлярова Никита Бумаков Ольга Никонова Светлана Землянская Ян Лобкарев. Дмитрий Кичинский Николай Артамонов. Android.
E N D
СПбГУ математико-механический факультет, 2010 Android Цена Денег Студенческий проект
Руководители: Участники: • Ксения Котлярова • Никита Бумаков • Ольга Никонова • Светлана Землянская • Ян Лобкарев • Дмитрий Кичинский • Николай Артамонов
Android • Платформа для мобильных телефонов, разрабатываемая OpenHandsetAlliance, инициированным Google. • Со времени релиза платформы Android было выпущено несколько обновлений(от 1.5 до 2.1). • Доля устройств на базе Android на российском рынке возросла с нуля до 8,9% • Предоставляет SDK, для разработки приложений на Java.
Цель проекта: • Доработка виджета для отображения ситуации на Российском валютном рынке, рынке цветных металлов и нефти под платформу Android • Повышение гибкости архитектуры • Добавление новых функций к приложению
Изменения в приложении: • Проработана модульная архитектура приложения • Улучшение внешнего вида виджета • Добавлена возможность просмотра курсов без установки виджета • Графики вынесены в отдельную библиотеку • Добавлено получение кросс-курсов, курсов акций
Диаграмма классов: модель Category RateTypeStore List<RateType> category1List List<RateType> category2List String name RateType Rate StockItem String code String name intnominalValue String nominalName String id StockItem source StockItem target RateType type Double value Date date
Изменение модели • Минимальная уникальная единица – RateType • Поле id из класса StockItem перенесено в класс RateType • Добавлено понятие Category • Каждый провайдер хранит список предоставляемых им Category • Каждый провайдер хранит список предоставляемых им RateType по Category • Введено понятий внутреннего и внешнего id для поддержания уникальности вне класса провайдера
Класс Provider • Возвращает список предоставляемых категорий • Возвращает все RateType из какой-то конкретной категории • Получение курсов по внутреннему id RateType
ProviderManager • Управляет работой всех провайдеров • Регистрирует все используемые провайдеры(addProvider) • Назначает каждому RateType внешний id, возвращает RateType по внешнему id • При запросе на получение курса по внешнему id RateType, преобразует внешний id во внутренний и отправляет запрос соответствующему провайдеру
Динамическая модель CourceActivity ItemConfigurationActivity Widget настройки создание обновление создание создание UpdateService ChartsActivity HistoryCharts данные данные данные <interface> IProvider ProviderManager YandexProvider CbrfProvider
Графики • Графики вынесены в отдельную библиотеку • Библиотеку можно разделить на: модель, визуализатор и View графика • Модель состоит из трех классов: DatePoint, XYSeries, XYMultipleSeriesDataset • Визуализатор: классы хранящие параметры визуализации т.к. цвет графиков, форма точек, отрисовывание сетки и т.д • View – класс, отвечающий за построение графика