-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
55 changed files
with
1,697 additions
and
1,081 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,36 @@ | ||
[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC%20BY--NC%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/) | ||
# Расписание СПбГМТУ | ||
Мобильное приложение, которое знает расписание занятий любой группы, любого преподавателя в любой день семестра. | ||
- Расписания загружаются (парсятся) прямо с сайта Корабелки; | ||
- Загрузить можно сколь угодно много расписаний, хоть все; | ||
- После загрузки расписания можно просматривать автономно (без доступа к интернету); | ||
- Реализовано автодополнение по списку имен преподавателей при загрузке расписаний; | ||
- Возможен быстрый переход между расписаниями с сохранением просматриваемой даты; | ||
- Текущая пара подсвечивается; | ||
|
||
<a href="https://play.google.com/store/apps/details?id=shults.smtuschedule"><img src="https://play.google.com/intl/en_us/badges/static/images/badges/ru_badge_web_generic.png" alt="Страница приложения в Google Play Маркет" width="200" /></a> | ||
|
||
## Возможности | ||
- Загрузка произвольного количества расписаний; | ||
- Автономный (без доступа к интернету) просмотр загруженных расписаний; | ||
- Автодополнение имен преподавателей при загрузке расписаний; | ||
- Быстрый переход между расписаниями с сохранением просматриваемой даты; | ||
- Подсветка текущей пары; | ||
- Выводятся только занятия, которые будут в указанный день (с учетом недели: числитель/знаменатель); | ||
- Открытый исходный код, при желании приложение можно скомпилировать самостоятельно. | ||
- Открытый формат хранения расписаний: при необходимости расписание можно отредактировать самостоятельно. | ||
|
||
## Скриншоты | ||
![Скриншоты версии 0.9](https://raw.githubusercontent.com/shults-s/SmtuSchedule/master/Screenshots/0.9.png) | ||
## Советы по использованию | ||
- Для возврата на текущую дату при просмотре расписания можно нажать кнопку «Назад»; | ||
- Нажатие на имя преподавателя (группу) вызовет переход на его расписание, либо появится предложение загрузить расписание, если это не было сделано ранее; | ||
- Удалить расписание или повторно загрузить его с сайта можно вызвав диалог действий над расписанием, для этого необходимо удерживать палец на его заголовке. | ||
![Скриншоты](https://raw.githubusercontent.com/shults-s/SmtuSchedule/master/Screenshots/0.9.png) | ||
|
||
## Установка и настройка | ||
- В настройках смартфона разрешить установку приложений из неизвестных источников (на данном этапе, пока неясно насколько это приложение будет нужно кому-то, кроме меня, нет смысла выкладывать его в Google Play Маркет); | ||
- Загрузить [последнюю версию](https://github.com/shults-s/SmtuSchedule/releases) установочного APK-файла и запустить его; | ||
- По окончанию установки открыть приложение и в его настройках задать значение параметра «Первый день семестра по числителю». | ||
Ниже приведена инструкция по установке приложения на смартфоны, на которых по каким-либо причинам недоступен Google Play Маркет. | ||
- В настройках смартфона разрешить установку приложений из неизвестных источников; | ||
- Загрузить [последнюю версию](https://github.com/shults-s/SmtuSchedule/releases/latest) установочного APK-файла для своей аппаратной архитектуры и запустить его. | ||
|
||
Для корректной работы приложению необходимо разрешение на доступ в интернет (загрузка расписаний) и разрешение доступ к памяти смартфона (сохранение расписаний). | ||
|
||
## Совместимость | ||
Поддерживаются смартфоны на Android начиная с версии 5.0 и заканчивая 10 (последняя на данный момент). Поддержки iOS нет, и, скорее всего, не будет. | ||
Поддерживаются смартфоны под управлением операционной системы Android начиная с версии 5.0 и заканчивая 10 (последняя на данный момент). Поддержки iOS нет, и, скорее всего, не будет. | ||
|
||
## Редактирование расписаний | ||
При первом запуске приложение создает во внутренней памяти смартфона директорию с названием «Расписание СПбГМТУ». Все загружаемые в дальнейшем с сайта расписания хранятся в этой директории в виде текстовых файлов в формате [JSON](https://ru.wikipedia.org/wiki/JSON). Их можно скопировать на компьютер, отредактировать, а затем закинуть обратно на смартфон. После перезапуска приложения изменения вступят в силу. Простейшее изменение, которое можно внести в расписание – это скрыть занятие. Для этого достаточно поменять значение параметра IsDisplayed с «true» на «false». После внесения изменений код желательно проверить валидатором (например, [этим](https://jsonlint.com/)) на наличие синтаксических ошибок. Расписания с ошибками приложение не открывает, о чем выводит соответствующее сообщение. | ||
При первом запуске приложение создает во внутренней памяти смартфона директорию с названием «Расписание СПбГМТУ». Все загружаемые в дальнейшем с сайта Корабелки расписания хранятся в этой директории в виде текстовых файлов в формате [JSON](https://ru.wikipedia.org/wiki/JSON). Их можно скопировать на компьютер, отредактировать, а затем закинуть обратно на смартфон. Изменения вступят в силу после перезапуска приложения. По завершению редактирования расписание желательно проверить валидатором (например, [этим](https://jsonlint.com/)) на наличие синтаксических ошибок. Расписания с ошибками приложение не открывает, о чем выводит соответствующее сообщение. Подробное описание возникших ошибок сохраняется в журнальный файл в поддиректории «Logs» директории «Расписание СПбГМТУ». | ||
|
||
## Обратная связь | ||
Пожелания, вопросы, сообщения об ошибках и все, что касается этого проекта, можно написать [мне в личку](https://vk.com/shults_s).\ | ||
В случае обнаружения ошибки, особенно, если приложение вылетело, прошу подробно описывать предшествовавшие этому действия. Во всех нештатных ситуациях приложение записывает файл с отладочной информацией в директорию Logs, лежащую в директории приложения. Этот файл необходимо приложить к сообщению об ошибке. Он не содержит никакой приватной информации, кроме модели устройства и версии Android. | ||
## Немного о проекте | ||
Разработка приложения началась в сентябре 2018 года. Это мой первый опыт в мобильной разработке. Сейчас проект состоит из трех c небольшим тысяч строк кода, разметки, стилей и других ресурсов интерфейса. Приложение написано на языке C# с использованием библиотек [Xamarin.Android](https://docs.microsoft.com/ru-ru/xamarin/android/), [Json.NET](https://www.newtonsoft.com/json) и [HtmlAgilityPack](https://html-agility-pack.net). | ||
Пожелания, вопросы, сообщения об ошибках и обо всем, что касается этого проекта, пишите [мне в личку](https://vk.com/shults_s). | ||
|
||
## Пара слов о проекте | ||
Разработка приложения началась в сентябре 2018 года. Это мой первый опыт в мобильной разработке. Проект состоит из четырех с половиной тысяч строк кода, разметки, стилей и других ресурсов интерфейса. Приложение написано на языке C# с использованием библиотек [Xamarin.Android](https://docs.microsoft.com/ru-ru/xamarin/android/), [Json.NET](https://www.newtonsoft.com/json) и [HtmlAgilityPack](https://html-agility-pack.net). |
11 changes: 11 additions & 0 deletions
11
SmtuSchedule.Android/Enumerations/FeatureDiscoveryState.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
namespace SmtuSchedule.Android.Enumerations | ||
{ | ||
[System.Flags] | ||
internal enum FeatureDiscoveryState | ||
{ | ||
ApplicationSettings = 1, | ||
SchedulesDownload = 2, | ||
SchedulesManagement = 4, | ||
ScheduleChangeDate = 8 | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.