Мобильное приложение, которое знает расписание занятий любой группы, любого преподавателя в любой день семестра.
- Расписания загружаются (парсятся) прямо с сайта Корабелки;
- Загрузить можно сколь угодно много расписаний, хоть все;
- После загрузки расписания можно просматривать автономно (без доступа к интернету);
- Автодополнение по списку преподавателей при загрузке расписаний;
- Быстрый переход между расписаниями с сохранением просматриваемой даты;
- Текущая пара подсвечивается;
- Выводятся только занятия, которые будут в указанный день (с учетом недели: числитель/знаменатель);
- Открытый исходный код, при желании приложение можно скомпилировать самостоятельно.
- Вызвать диалог удаления просматриваемого расписания можно нажав и удержав палец на его заголовке;
- Для возврата на текущую дату при просмотре расписания можно нажать кнопку «Назад»;
- Нажатие на имя преподавателя (группу) вызовет переход на его расписание, либо появится предложение загрузить расписание, если это не было сделано ранее;
- Если расписание на сайте обновилось, достаточно загрузить его еще раз с помощью соответствующего меню, удалять перед этим расписание вручную необязательно.
- В настройках смартфона разрешить установку приложений из неизвестных источников (на данном этапе, пока неясно насколько это приложение будет нужно кому-то, кроме меня, нет смысла выкладывать его в Google Play);
- Загрузить последнюю версию установочного APK-файла и запустить его;
- По окончанию установки открыть приложение и в его настройках задать значение параметра «Первый день семестра по числителю».
Поддерживаются смартфоны на Android начиная с версии 5.0 и заканчивая 9.0 (последняя на данный момент). Поддержки iOS нет, и, скорее всего, не будет.
При первом запуске приложение создает во внутренней памяти смартфона директорию с названием «Расписание СПбГМТУ». Все загружаемые в дальнейшем с сайта расписания хранятся в этой директории в виде текстовых файлов в формате JSON. Их можно скопировать на компьютер, отредактировать, а затем закинуть обратно на смартфон. После перезапуска приложения изменения вступят в силу. Простейшее изменение, которое можно внести в расписание – это скрыть занятие. Для этого достаточно поменять значение параметра IsDisplayed с «true» на «false». После внесения изменений код желательно проверить валидатором (например, этим) на предмет синтаксических ошибок. Расписания с ошибками приложение не открывает, о чем выводит соответствующее сообщение.
Пожелания, вопросы, сообщения об ошибках и все, что касается этого проекта, можно написать мне в личку.
Приложение только вышло, сколько в нем еще ошибок никто не знает, поэтому прошу отнестись с пониманием, если что-то работает не так, как должно.
В случае обнаружения ошибки, особенно, если приложение вылетело, прошу подробно описывать предшествовавшие этому действия. Во всех нештатных ситуациях приложение записывает файл с отладочной информацией в директорию Logs, лежащую в директории приложения. Этот файл необходимо приложить к сообщению об ошибке. Он не содержит никакой приватной информации, кроме модели устройства и версии Android.
На создание приложения ушло четыре месяца, во многом, из-за того что это мой первый опыт в мобильной разработке. Сейчас проект состоит без малого из трех тысяч строк кода, разметки, стилей и других ресурсов интерфейса. Приложение написано на языке C# с использованием библиотек Xamarin.Android, Json.NET и HtmlAgilityPack.