TexxTyRe
@TexxTyRe
Software Developer

Как написать приложение с раcписанием?

Я студент только 2-го курса колледжа. Но не за горами диплом. Тему уже выбрал и это приложение (хотя бы пока что на андройд) с расписанием собественного колледжа. Структура приложения проста:
1) Сначала выбор лица - преподаватель или студент. Если преподаватель, то ввод инициалов, показ расписания с "завернутыми" днями.
2) Если студент, то выбор группы и показ расписания как в п.1.
Я лишь знаю С++ и в основном это работа с массивами. Знаю, что нужно больше, но изучение будет по мере написания. Самое страшное, я не знаю с чего начать и как это будет взаимодействовать. Я хочу уточнить:
1) Можно ли полностью приложение подобного рода написать на C++? Если да, то как? Скакать от одного языка к другому без устоявшихся знаний не хочется.
2) Я так понимаю, мне нужно будет написать парсинг расписания на сайте? (Можно тоже на C++?)
3) В какой форме мне представится расписание групп? Могу ли я сразу отправлять их в приложение? (Я может ахинею несу, вы исправьте)
4) Расписание по сути хранится на сервере, тогда может обеспечить взаимосвязь?
Есть ли подходящие ссылки с подобной темой? Есть ли API для такого рода задачи? Жду любой помощи и полезных советов.
  • Вопрос задан
  • 5608 просмотров
Пригласить эксперта
Ответы на вопрос 5
@deliro
Qt.
API может быть, а может и не быть (что скорее всего) - зависит от того, предоставляет сайт его или нет. Но, признаться, я не видел ещё сайтов ВУЗов с API (возможно, плохо смотрел).
Работа с массивами - это не работа. Это как сказать: "Я знаю, как готовить пищу и в основном я завариваю Роллтон"
Ответ на второй вопрос гуглится на раз.
Третий вообще не понял.
Расписание хранится на сервере, но, для скорости и возможности оффлайна, лучше всё-таки кэшировать данные в Sqlite и обновлять их раз в сутки (если есть возможность) или по запросу.
Ответ написан
gadfi
@gadfi
https://gamega.org
Что вам не нужно:
1. C++
2. парсить сайт

Скакать от одного языка к другому без устоявшихся знаний не хочется.
под каждую задачу свой инструмент, даже с учетом того что вы не знаете java, ui все равно написано на java, дергать java из с++ и ndk из java накладно получается

У вас есть сервер, на нем бд, просто напишите к сайту расписания универа rest api (не важно на каком языке сайт, задача все равно простейшая )

На стороне клиента все просто ─ обычное клиент сервеное приложение.
REST API (рекомендую для него использовать retrofit+gson), база данных ─ из коробки в android SQLite (для работы с бд гугл рекомендует провайдер+ лоадер и я с ним согласен, очень удобно ), ui ─ тут как фантазии хватит.
Ответ написан
Комментировать
@makaleks
Больно серьёзная задача при таких знаниях C++. При написании GUI не обойтись без классов, Qt Вам уже посоветовали. В этой же библиотеке есть способы работать с сетью и не только. Но ВУЗы обычно (не встречал) не предоставляют API для работы со своим сайтом, а посему есть разные варианты, и парсинг - не самый лучший из них для Вас. Поскольку расписание на то и расписание, чтобы обновляться редко, то можно просто забить это расписание "ручками" (например на сервере для таких обновлений), а затем и обрабатывать.

Но не в этом суть. Судя по
Я лишь знаю С++ и в основном это работа с массивами
возникает ощущение, что нет навыка написания программ масштаба Вами предложенного. Надеюсь не будет новостью необходимость делать акцент на раздельную компиляцию (чтобы на каждый запуск не уходило секунд 10), максимальное разделение на функции и проверка на корректность входных параметров (что позволит написать качественный код и использовать его в других проектах). Ну и разумеется знание правил оформления для максимального комфорта дебага.

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

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

1: да, разумеется на C++ можно писать и не такое, хотя практически полный контроль над каждой оперцией и обещает длительный цикл разработки (порой для прототипов используют вообще другой язык программирования, полный абстракций, например Python). По Qt советую для начала книгу
"Qt 4.8. Профессиональное программирование на C++" (М. Шлее)
И надеюсь, что у Вас есть под рукой что-то вроде
"Полный справочник по C++" (Г. Шилдт)

Андроиду действительно больше подходит Java, но и для C++ существуют способы написания под мобильные платформы (не только Android).

Удачи
Ответ написан
Комментировать
DeadCowsDontMoo
@DeadCowsDontMoo
web
Могу только сказать, что приложение такого рода можно написать на java, а можно и средствами web-a, смотря что вам лучше дается...
Ответ написан
Комментировать
struggleendlessly
@struggleendlessly
.net Senior developer
на с++ можно, но легче будет на яве (для андроида), а еще легче на сишарпе (виндовс, андроид, иос).
начни не со своего приложения, а с уроков, например по написанию калькулятора, так как у тебя такие огромные пробелы в мобайл разработке (знания), что рассказывать тонкости построения твоего приложения - бессмысленно се
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы