СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Лабораторная работа. Создание набора CRUD-операций в .NET MAUI с использованием MVVM

Категория: Прочее

Нажмите, чтобы узнать подробности

Методическая разработка предназначена для использования в образовательном процессе преподавателями профессионального цикла по освоению темы «Создание набора CRUD-операций в .NET MAUI с использованием MVVM» на дисциплине "Разработка мобильных приложений» 09.02.07 Информационные системы и программирование.

Просмотр содержимого документа
«Лабораторная работа. Создание набора CRUD-операций в .NET MAUI с использованием MVVM»

Лабораторная работа 21

Создание набора CRUD-операций в .NET MAUI с использованием MVVM.



Задание 1.

Создайте проект .NET MAUI.

Прежде, чем приступить к разработке проекта, добавьте следующие пакеты Nuget:

Sqlite-net-pcl

SQLitePCLRaw.bundle_green

SQLitePCLRaw.core

SQLitePCLRaw.provider.dynamic_cdecl

SQLitePCLRaw.provider.sqlite3

Добавьте в проект новые папки Views, ViewModels, Models.

В папке Models создайте класс StudentModel со следующим содержимым:

В папку Views добавьте новый элемент – из раздела .NET MAUI файл типа .NET MAUI ContentPage(XAML):

В папку ViewModels добавьте класс:

StudentListPageViewModel.cs.

Класс сделайте публичным.

В файл MauiProgram.cs добавьте следующие строки:

Изменим класс StudentListPage.xaml.cs, связав его с моделью представления через передаваемый параметр:

Изменим файл AppShell.xaml, связав его не с локальными файлами, а с представлениями:



Добавим в проект еще одну папку Services:

В этой папке создайте интерфейс с названием IStudentService.

Сделайте этот интерфейс публичным.

Добавьте в папку Services класс StudentService.

Внесите следующие изменения в класс:

В интерфейсе добавьте строку:

В предыдущем классе появится ошибка:

Посмотрите ошибку и в качестве возможного решения выберите «Релизовать интерфейс».

Должен появиться следующий код:

В интерфейс добавим основные операции по добавлению, удалению и обновлению списка:

В классе вновь возникнет ошибка, потому что часть интерфейса пока не реализована. Ошибку исправьте таким же образом, как и раньше.

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

Теперь, когда организована связь с базой данных, мы можем изменить содержимое основных операций на более конкретные действия:

Возникнет ошибка, в связи с тем, что мы изменили тип возвращаемых значений. Вернитесь в интерфейс и измените типы:

Теперь добавим в папку Views файл типа .NET MAUIContentPage(XAML):

Добавим в папку ViewModel класс:

Класс сделайте публичным.

Теперь внесем изменения в файл MauiProgram.cs:

Внесем изменение в созданный ранее файл AddUpdateStudentDetail.xaml.cs:

Изменим также внешний вид представления:

И изменим представление StudentListPage:

Установим еще один пакет Nuget:

Теперь опишем класс StudentListPageViewModel.cs:

Внесем изменения в файл AppShell.xaml.cs:

В файле StudentListPage.xaml добавим следующий код:

Изменим внешний вид страницы AddUpdateStudentDetail.xaml:



Добавим в класс AddUpdateStudentDetailViewModel.cs следующий код:

Теперь можно добавить привязки в представление AddUpdateStudentDetail.xaml:

Внесем изменения в файл AddUpdateStudentDetailViewModel.cs добавив в него функцию добавления записи в таблицу и соответствующие уведомления.



Внесем изменения в файл StudentListPageViewModel.cs, добавив функции.

В файл StudentListPage.xaml.cs добавим:

Пометьте функцию как команду и сделайте её открытой:





Добавим вывод данных в файл StudentListPage.xaml:



Отформатируем вывод данных в файле StudentListPage.xaml:

Добавим команду в StudentListPageViewModel.cs:



Внесем изменения в файл AddUpdateStudentDetailViewModel.cs:



Благодаря внесенным изменениям, мы можем обращаться к полям таблицы как к частям объекта StudentDetail:

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

Добавим отклик в файл StudentListPage.xaml:

models:StudentModel

Внесем последние изменения в файл AddUpdateStudentDetailViewModel.cs: