Научная статья на тему 'РАЗРАБОТКА ПРИЛОЖЕНИЯ РАСПИСАНИЯ'

РАЗРАБОТКА ПРИЛОЖЕНИЯ РАСПИСАНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
319
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ANDROID STUDIO / FIGMA / РАСПИСАНИЕ / JAVA / XML / SCHEDULE

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

Статья посвящена разбору аналогов расписаний занятий приложений. Так же, помимо этого, в статье рассказывается про разработку интерфейса приложения и разработку логики работы приложения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPING A SCHEDULE APP

The article is devoted to the analysis of analogs of application lesson schedules. Also, in addition to this, the article tells about the development of the application interface and the development of the application logic.

Текст научной работы на тему «РАЗРАБОТКА ПРИЛОЖЕНИЯ РАСПИСАНИЯ»

УДК 004

Васильев В.И. студент 3 курса

факультет «Информационные системы и технологии» Северный Арктический федеральный университет Высшая школа информационных технологий и автоматизированных систем Россия, г Архангельск

РАЗРАБОТКА ПРИЛОЖЕНИЯ РАСПИСАНИЯ

Аннотация: статья посвящена разбору аналогов расписаний занятий приложений. Так же, помимо этого, в статье рассказывается про разработку интерфейса приложения и разработку логики работы приложения.

Ключевые слова: Android Studio, Figma, расписание, Java, XML.

Vasilyev V.I. student 3 year

faculty "Information Systems and Technology" Northern Arctic Federal University, Graduate School of Information

Technology and Automated Systems Russia, Arkhangelsk

DEVELOPING A SCHEDULE APP

Annotation: the article is devoted to the analysis of analogs of application lesson schedules. Also, in addition to this, the article tells about the development of the application interface and the development of the application logic.

Keywords: Android Studio, Figma, schedule, Java, XML.

1 Теоретическая часть

1.1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА

ЗАДАЧИ

Основной задачей является разработка приложения «САФУ расписание занятий» с использованием среды разработки Android Studio, а также строго типизированным объектно-ориентированным языком программирования - Java.

Основной целью приложения «САФУ расписание занятий» является возможность студентов к быстрому доступу к интересующим его расписанию, а также более удобной работе с веб-версией расписания САФУ. Студент, используя приложения сможет сохранить интересующее его расписания, а затем при запуске приложения сразу же перейти на

интересующую его вкладку. Так же пользователь может сохранить интересующее его занятие что бы потом обратиться к нему, если у него будет отсутствовать доступ в интернет.

1.2 ОБЗОР СУЩЕСТВУЮЩИХ АНАЛОГОВ

В качестве примера возьмём 4 мобильных приложения похожей тематики.

«ЦДО ИТМО» - это приложение для работы с системой ЦДО и расписаниями Университета ИТМО.

«LightSchool» - это многофункциональное приложение для школьников всего мира.

«Удобное расписание - для школьников и студентов» - простое приложение поможет сохранить расписание и задания на неделю в удобной форме

«Расписание САФУ» - это приложение, созданное для просмотра расписания САФУ.

Все основные особенности приложений были приведены в таблицу 1.

Таблица 1 - Обзор существующих аналогов

Мобильное приложение Основной функционал Отличительные особенности Стоимость Ссылка в Google PlaУ

«ЦДО ИТМО» Просмотр расписания, просмотр электронного журнала, запись на тестирования, поиск информации об университете Наличие виджетов в приложении бесплатно https://play.google. com/store/apps/det ails?id=com.bukhm astov.cdoitmo

«LightSchool » Просмотр расписания по дням недели, запись заметок, запись домашнего задания просмотр времени Дополнительный функционал не относящийся к тематике приложения бесплатно https://play.google. com/store/apps/det ails?id=com.churki napps.lightschool

«Удобное расписание -для школьников и студентов» Запись предметов с учётом времени занятий Присутствие текущего времени и даты на верхней панели приложения бесплатно https://play.google. com/store/apps/det ails?id=com. studya pps.timetable

«Расписание САФУ» Расписание по дням недели, заметки Наличие рейтинга преподавателей, есть виджет приложения бесплатно https://play.google. com/store/apps/det ails?id=burov. sche dule.narfU

2 Дизайн приложения

Перед тем как создавать приложения необходимо создать дизайн приложения для его работы. Для создания дизайна приложения был онлайн сервис Figma. Figma - это онлайн-сервис для разработки интерфейсов и прототипирования с возможностью организации совместной работы в режиме реального времени. Позиционируется создателями как основной конкурент программным продуктам компании Adobe.

В итоге разработки дизайна приложения и реализации его в xml-файлах получился следующий дизайн приложения. На рисунке 5 представлено меню приложения.

W

(¿\ Моя группа ¿¿Д Сохранить расписание | Сохранить группу ] Главная Учителя Экспементальные функции Другие группы Сохраненые расписания

<1 о □

Рисунок 1 - Меню приложения

На рисунке 6 представлена рабочая область приложения. В этой области пользователь может выбирать интересующее его расписание что бы получить необходимую ему информацию.

Л ..rtl-^Q« а-»Ш ••• Ф RJ & 26% «Э 15:12

= Расписание САФУ :

Расписание не менялось с 14:56 10 May 4 мая 11 мая 18 мая 25 мая 1 июн

351718 Информационные системы и технологии

Функциональное программирование

Функциональное программирование

Управление и обмен данными в корпоративных информационных системах

Управление и обмен данными в корпоративных инфоэмаиионных системах

Рисунок 2 - Рабочая область приложения

На рисунке 7 представлен процесс сохранения расписания. Здесь пользователь выбирает то что ему необходимо сохранить, чтобы потом обратиться к этому содержимому при отсутствии интернета.

Рисунок 3 - Сохранение расписания

На рисунке 8 представлена область для более удобного поиска преподавателей университета.

.Hi Л ФИ Si 26% ED 15:12

Расписание САФУ

rUZ.narfu.ru Q @ ruz@narfu.ru

Начните вводить ФИО преподавателя

< о □

Рисунок 4 - Окно с выбором преподавателя

3 Логика работы приложения

Для работы приложения необходимо работа с интернетом для это в файле Manifest укажем то что приложения будет использовать привилегии для работы с интернетом, как показана на рисунке 9.

Рисунок 5 - Привилегии для использования интернета

Для реализации меню используется следующий программный код, который представлен на рисунке 10. Этот код отвечает за функционал всех пунктов меню.

©Override

public boolean onNdvigationItem3elected(MenuItem item) {

// Handle navigation view item click.s here.

| int id = item.getltemld();

if (id R.id.лат camera) { //загрузить курс

Prov();

if (chec]e=l) {loadText () ; }

else {Toast .make Text ( context: this, text: "у Вас нет сохранёного курса". Toast. LENGTH LONG) . show () ; } } else if (id == R.id.aav gallery) { //сохранить расписание save = web;

createWebPrintJob(save); save = null;

//saveText2 (html2text () ) ; } else if (id == R.id.nav slidesbow) { //глазная

web. loadTJrl ("http3 : //ruz .narfu. ru") ; } else if (id == R.id.лл7 share) { saveText();

}

else if (id = R.id.nav teachers) [ //поиск учителей

Intent searchlntent - new Intent ( packageContext: MainActivity.this, SearchActivity. class) ; startActivity(searchlntent);

}

else if (id R.id.nav OtherGrovp) {

Toast .makeText ( context: this, text; "Функция пока недоступна". Toast. LENGTH LONG) . show () ;

}

else if (id == R.id..i2av Save) {

Toast .makeText < context: -this, text: "Функция пока, недоступна". Toast. LENGTH LONG) . show () ;

}

Рисунок 6 - Код отвечающий за функционал пунктов меню

Для того что бы пользователь мог сохранять расписания реализован интерфейс сохранения расписания в виде pdf файла, для этого вызывается встроенная в операционную систему Android служба принтеров. Программный код отвечающий за реализацию сохранения расписания представлена на рисунке 11.

private void createWebPrintJob(WebView webView) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

PrintManager printManager = (PrintManager) this.getSystemService(Context.PRINT SERVICE)?

PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter();

String jobName = "Расписание САФУ" + " Print Test";

printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build());

1

else Toast .jnaieText( context: this, text: "Нужна более высокая версия Android", Toast. LENGTH_LONG) . show () ;

Рисунок 7 - Код отвечающий за реализацию сохранения расписания

Для того что бы пользователь при открытии приложения мог увидеть его группу он должен сохранить это группу, за что отвечает программный код, представленный на рисунке 12.

private void. saveText () {

HomeCourseLoad - getPreferences [MODE PRIVATE); SkaredPreferences.Editor ed = HomeCourseLoad_edit() ; ed.putStrirLg (SavedURL, web . getUrl (} ) ; ed.pu.tlnt (Checfcer, 1) ;

ad.apply [) ;

Toast .maksTsxt { context: this, text: "Ваш курс сохранён'1. Toast. LENGTH LONG) . show ()

Рисунок 8 - Код отвечающий за сохранения группы

Для загрузки нужного курса отвечает функция, представленная на рисунке 13.

Home Course La a.d = getPreferenc а з {MODE PRTVATE) ;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

String savedTeit — HomeCourseLoad.getString{SaTedURL, Si: "™);

Рисунок 9 - Код отвечающий за загрузку группы

Использованные источники:

1. Google Developers [Электронный ресурс]: - Режим доступа: https://developers.google.com/, свободный (дата обращения: 10.4.2020). -Загл. с экрана.;

2. Разработка приложений под мобильную платформу Android : учебное пособие / Д. В. Кравцов, М. А. Лосева, Е. А. Леонов [и др.]. — Москва : ФЛИНТА, 2018. — 72 с. — ISBN 978-5-9765-4014-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/113495 (дата обращения: 10.05.2020). — Режим доступа: для авториз. пользователей.

i Надоели баннеры? Вы всегда можете отключить рекламу.