@CallMeYourDaddy

Как связать сайт с приложением?

Добрый день.
Я пишу дипломную работу на тему "электронный дневник на asp.net core + xamarin".
Студенты скачивают приложение, где могут просматривать оценки, ведомость за месяц/6мес/год, смотреть расписание.

Сценарий использования:
1. Студент смотрит расписание
2. Конец месяца. Студенту прилетает оповещение, в котором написано, что были выставлены оценки за месяц.

А редактирование и выставление оценок и тд будут делать учителя, для которых написан сайт. Стоит отметить, что студенты могут воспользоваться сайтом- посмотреть оценки/расписание и тд

Получается, сайт можно рассматривать, как сервер, а приложение - это клиент. Если это так, то мне только необходимо написать интерфейс (апи) для взаимодействия приложения и сайта?
  • Вопрос задан
  • 290 просмотров
Решения вопроса 1
firedragon
@firedragon Куратор тега C#
Senior .NET developer
В Xamarin есть готовый тип проекта. Создается приложение и API заглушка.
Все что вам нужно это прикрутить этот API к сайту.

https://docs.microsoft.com/ru-ru/xamarin/xamarin-f...
А вот и пример приложения
https://docs.microsoft.com/ru-ru/samples/xamarin/x...

А вот пример сервиса доступа к данным онлайн / офлайн. Локальная копия хранится в sqlite

public async Task<PageItem> GetContent(string cat, bool offline)
        {
            try
            {
                if (offline)
                {
                    var catId = int.Parse(cat);
                    var ctx = DataContext.Instance;
                    var data = (await ctx.Content.GetItems())
                        .First(x => x.CatId == catId);

                    var result = _mapper.Map<PageItem>(data);
                    result.Tab1 = ReplaceImages(result.Tab1);
                    result.Tab2 = ReplaceImages(result.Tab2);
                    result.Tab3 = ReplaceImages(result.Tab3);
                    result.FavUrl = $"{cat}";
                    return result;
                }
                else
                {
                    //return $"{BaseUrl}content.php?cat={cat}&tab={tab}";
                    var da = new LoadDataAdapter();
                    var json = await da.GetJson(Settings.GetContent(cat));
                    var data = JsonConvert.DeserializeObject<PageItem>(json, new JsonBooleanConverter());
                    data.FavUrl = cat;
                    return data;
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentNullException("Ошибка загрузки.", ex);
            }
        }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
mmmaaak
@mmmaaak
Нет, сайт (именно интерфейс, клиентская часть) и мобильное приложение - это оба клиенты, а бэкенд с бд - это сервер, который должен предоставлять апи обоим типам клиентов.
Ответ написан
yarosroman
@yarosroman Куратор тега C#
C# the best
Я делал так, сначала сделал простой сайт, где можно было добавлять, редактировать, удалять данные, потом webapi прикрутил к нему и через апи в мобильное данные забирал
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы