Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2017-10-07 | 1630 |
5.00
из
|
Заказать работу |
|
|
Для реализации поставленных задач был выбран следующий язык программирования и среда разработки соответственно: Java, Android Studio.
Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android, анонсированная 16 мая 2013 года на конференции Google I/O.
Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, официальное средство разработки Android приложений. Данная среда разработки доступна для Windows, OS X и Linux. 17 мая 2017 на ежегодной конференции Google I/O, Google анонсировал язык Kotlin используемый в Android Studio официальным языком программирования для платформы Android в добавление к Java и С++. Новые функции появляются с каждой новой версией Android Studio. На данный момент доступны следующие функции:
· расширенный редактор макетов: WYSIWYG, способность работать с UI компонентами при помощи Drag-and-Drop, функция предпросмотра макета на нескольких конфигурациях экрана;
· сборка приложений, основанная на Gradle;
· различные виды сборок и генерация нескольких.apk файлов;
· рефакторинг кода;
· статический анализатор кода (Lint), позволяющий находить проблемы производительности, несовместимости версий и другое;
· встроенный ProGuard и утилита для подписывания приложений;
· шаблоны основных макетов и компонентов Android;
· поддержка разработки приложений для Android Wear и Android TV;
· встроенная поддержка Google Cloud Platform, которая включает в себя интеграцию с сервисами Google Cloud Messaging и App Engine;
· Android Studio 2.1 поддерживает Android N Preview SDK, а это значит, что разработчики смогут начать работу по созданию приложения для новой программной платформы;
· новая версия Android Studio 2.1 способна работать с обновленным компилятором Jack, а также получила улучшенную поддержку Java 8 и усовершенствованную функцию Instant Run;
|
· platform-tools 23.1.0 для Linux без объявления стала исключительно 64-разрядной, даже при попытке установить 32-разрядную версию. Иными словами Android Studio больше НЕ работает (выдаёт неустранимые ошибки) в 32-разрядных версиях Linux;
· в Android Studio 3.0 будут по стандарту включены инструменты языка Kotlin основанные на JetBrains IDE;
Java — сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины.
Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.
Основные модули программного средства
Основные классы программного средства:
· RealmHelper – класс, ответственный за работу с БД;
· RepositoryImpl – класс, реализующий паттерн «репозиторий», ответственнен за хранение и получение данных;
· SupportLangsGetter – класс, ответственный за получение списка поддерживаемых языков;
· TranslationGetter – класс, ответственный за получение перевода;
· DictionaryApi – интерфейс для работы с веб-сервером Яндекс Словаря;
· TranslateApi – интерфейс для работы с веб-сервером Яндекс Переводчика.
|
Класс RealmHelper
Этот класс отвечает за работу с базой данных Realm, а именно за запись и чтение истории и избранного и кэширование списка поддерживаемых языков.
В таблице 1 представлены основные методы класса RealmHelper.
Таблица 1 – «Методы класса RealmHelper»
Название | Входные параметры | Описание метода | Возвращаемое значение |
clearHistory | - | Очистка истории | Observable<Boolean> |
readAllSupportLanguages | - | Получение списка всех поддерживаемых языков | List<Language> |
readAllSupportLanguages | - | Получение списка всех поддерживаемых языков | List<Language> |
writeLanguageResponseToRealm | Language language | Запись языка в БД | Void |
writeTranslationToRealm | Translation translation | Запись перевода в БД | Observable<Boolean> |
clearFavorites | - | Очистка избранного | Observable<Boolean> |
getHistory | - | Получение списка истории | List<Translation> |
getFavorites | - | Получение списка избранного | List<Translation> |
Класс RepositoryImpl
Этот класс реализуюет паттерн «репозиторий», ответственнен за хранение и получение данных;
Методы класса RepositoryImpl представлены в таблице 2.
Таблица 2 – «Методы класса RepositoryImpl»
Название | Входные параметры | Описание метода | Возвращаемое значение |
saveTranslation | - | Сохранить перевод | Observable<Boolean> |
deleteFavorites | - | Удалить избранное | Observable<Boolean> |
deleteHistory | - | Удалить историю | Observable<Boolean> |
getFavorites | - | Получить избранное | List<Translation> |
getSupportLanguages | String ui | Возвращает наблюдателя, параметризированного списком поддерживаемых языков | Observable<List<Language>> |
translateWithoutDict | String text, String lang | Возвращает наблюдателя, параметризированного неподробным переводом | Observable<Translation> |
translate | String text, String ui | Возвращает наблюдателя, параметризированного подробным переводом | Observable<Translation> |
Класс SupportLangsGetter
Данный класс отвечает за получение поддерживаемых языков.
Методы класса SupportLangsGetter представлены в таблице 3.
Таблица 3 – «Методы класса SupportLangsGetter»
Название | Входные параметры | Описание метода | Возвращаемое значение |
getLanguages | - | Получение списка поддерживаемы языков | Observable<List<Language>> |
Класс TranslationGetter
Данный класс отвечает за получение перевода.
Методы класса TranslationGetter представлены в таблице 4.
Таблица 4 – «Методы класса TranslationGetter»
Название | Входные параметры | Описание метода | Возвращаемое значение |
translate | Translation translation | Получение перевода | Observable<Translation> |
getHistory | - | Получить историю | List<Translation> |
|
Продолжение таблицы 4
getFavorites | - | Получить избранное | List<Translation> |
deleteHistory | - | Удалить историю | void |
deleteFavorites | - | Удалить избранное | void |
saveTranslation | Translation translation | Сохранить перевод | void |
Класс DictionaryApi
Интерфейс для работы с веб-сервером Яндекс Словаря.
Методы класса DictionaryApi представлены в таблице 5.
Таблица 5 – «Методы класса DictionaryApi»
Название | Входные параметры | Описание метода | Возвращаемое значение |
getDictionary | String key, String lang, String text, String ui | Запрос на получение подробной словарной статьи | Observable<DictionaryResponse> |
Класс TranslateApi
Интерфейс для работы с веб-сервером Яндекс Переводчика
Методы класса TranslateApi представлены в таблице 5.
Таблица 6 – «Методы класса TrasnlateApi»
Название | Входные параметры | Описание метода | Возвращаемое значение |
getSupportLanguages | String key, String ui | Запрос на получение списка поддерживаемых языков | Observable<SupportLanguageResponse> |
translate | String key, String text, String lang | Запрос на получение перевода | Observable<TranslationResponse> |
UML-диаграмма классов
На рисунке 1 и 2 изображена UML-диаграмма классов, которая отображает структуру программного средства, методы основных классов, рабочие сигнатуры и связи между объектами классов.
Рисунок 1 – UML-диаграмма классов
Рисунок 2 – UML-диаграмма классов
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!