Quickstarters
CRUD Samples
Как создать CRUD-приложение на Xamarin?
29 мин
обзор этот гид проведет вас через создание полного crud (создание, чтение, обновление, удаление) приложения с использованием xamarin мы будем использовать back4app в качестве нашего серверного решения для легкого управления вашими данными на протяжении этого учебника вы увидите, как настроить проект back4app, установить гибкую схему данных и реализовать операции crud в приложении xamarin сначала вы настроите проект back4app с именем basic crud app xamarin этот проект будет служить надежным сервером для вашего приложения вы определите свои структуры данных вручную через панель управления back4app или воспользуетесь встроенным ai agent затем вы воспользуетесь интуитивно понятным приложением back4app admin для легкого управления вашими данными с помощью функции перетаскивания наконец, вы интегрируете ваше приложение xamarin с back4app, используя parse net sdk, который полностью совместим с xamarin, обеспечивая безопасные и эффективные операции с данными к концу этого учебника вы разработаете готовое к производству приложение xamarin, способное выполнять основные операции crud вместе с безопасной аутентификацией пользователей и управлением данными ключевые идеи узнайте, как построить приложение crud на базе xamarin, интегрированное с надежным нереляционным сервером поймите, как спроектировать масштабируемый сервер и бесшовно подключить его к вашему приложению xamarin узнайте, как управлять операциями crud с помощью приложения back4app admin изучите варианты безопасного управления пользователями и безопасности сервера с использованием acl и clp предварительные требования перед тем как начать, убедитесь, что у вас есть аккаунт back4app с настроенным проектом для получения помощи обратитесь к начало работы с back4app https //www back4app com/docs/get started/new parse app среда разработки xamarin установите visual studio с поддержкой xamarin и убедитесь, что у вас последняя версия net sdk базовое понимание c#, объектно ориентированного программирования и rest api при необходимости вы можете ознакомиться с документацией microsoft c# https //docs microsoft com/en us/dotnet/csharp/ шаг 1 – настройка вашего проекта back4app создание нового проекта на back4app войдите в свой аккаунт back4app нажмите кнопку “новое приложение” на вашей панели управления назовите ваш проект basic crud app xamarin и следуйте инструкциям на экране, чтобы завершить настройку создать новый проект после успешного создания вашего проекта он появится на вашей панели управления, готовый к дальнейшей настройке бэкенда шаг 2 – создание схемы данных определение ваших структур данных для этого crud приложения вам нужно настроить несколько классов (коллекций) в вашем проекте back4app ниже приведены примеры основных классов и их соответствующих полей, которые вы создадите 1\ класс элементов поле тип данных описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор название строка название элемента описание строка краткое резюме предмета создано дата метка времени, указывающая на создание обновлено дата метка времени, указывающая на последнее обновление 2\ класс пользователей поле тип данных описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор имя пользователя строка уникальное имя пользователя для пользователя электронная почта строка уникальный адрес электронной почты для контакта с аккаунтом хешпароля строка зашифрованный пароль для безопасности создано дата время создания аккаунта обновлено дата метка времени для последнего обновления аккаунта вы можете добавить эти классы и поля вручную через панель управления back4app создать новый класс вы можете определить каждое поле, выбрав тип данных, введя имя поля, установив значения по умолчанию и отметив обязательные поля создать колонку использование ai агента back4app для генерации схемы интегрированный ai агент в вашей панели управления back4app может автоматически генерировать вашу схему данных на основе описания этот инструмент упрощает процесс настройки и гарантирует, что ваша модель данных оптимизирована для операций crud как использовать ai агента получите доступ к ai агенту откройте панель управления back4app и найдите ai агента в настройках вашего проекта опишите вашу схему предоставьте подробный план классов и полей, которые вам нужны просмотрите и реализуйте ai агент предложит схему изучите предложенную конфигурацию и одобрите ее, чтобы применить изменения пример запроса create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) этот метод с поддержкой ai экономит время и обеспечивает согласованную, оптимизированную структуру данных шаг 3 – включение админ приложения и управление операциями crud обзор админ приложения приложение back4app admin предоставляет интерфейс без кода для простого управления данными на сервере его интерфейс перетаскивания упрощает операции crud, такие как создание, чтение, обновление и удаление записей включение приложения admin откройте меню “дополнительно” на вашей панели управления back4app выберите “admin app” и нажмите “включить admin app ” настройте свои учетные данные администратора создав начальную учетную запись администратора этот процесс также устанавливает предопределенные роли (например, b4aadminuser ) и системные классы включить admin app после активации войдите в приложение admin, чтобы начать управлять данными вашего приложения панель управления admin app выполнение операций crud с помощью приложения admin внутри приложения admin вы можете вставить новые данные используйте функцию “добавить запись” в любом классе (например, элементы), чтобы создать новые записи просмотреть и отредактировать записи выберите запись, чтобы просмотреть детали или изменить поля удалить записи удалите записи данных, которые больше не нужны этот удобный интерфейс упрощает процесс управления вашим сервером шаг 4 – подключение вашего приложения xamarin к back4app с вашим бэкендом готовым, следующая задача – связать ваше приложение xamarin с back4app вариант a использование parse net sdk в xamarin добавьте зависимость parse net sdk для проекта xamarin включите parse net sdk через nuget откройте менеджер пакетов nuget и установите install package parse инициализируйте parse в вашем приложении xamarin создайте файл инициализации (например, parseinitializer cs ) и настройте его следующим образом // parseinitializer cs using parse; public static class parseinitializer { public static void initialize() { parseclient initialize(new parseclient configuration { applicationid = "your application id", windowskey = "your xamarin key", server = "https //parseapi back4app com" }); } } 3\ implement crud operations for example, create a service class to manage items ```csharp // itemsservice cs using parse; using system; using system collections generic; using system threading tasks; public class itemsservice { public async task\<list\<parseobject>> getitemsasync() { var query = new parsequery\<parseobject>("items"); try { return await query findasync(); } catch (exception ex) { console writeline($"error fetching items {ex message}"); return null; } } public async task createitemasync(string title, string description) { var item = new parseobject("items"); item\["title"] = title; item\["description"] = description; try { await item saveasync(); console writeline("item created successfully "); } catch (exception ex) { console writeline($"error creating item {ex message}"); } } public async task updateitemasync(string objectid, string newtitle, string newdescription) { var query = new parsequery\<parseobject>("items"); try { var item = await query getasync(objectid); item\["title"] = newtitle; item\["description"] = newdescription; await item saveasync(); console writeline("item updated successfully "); } catch (exception ex) { console writeline($"error updating item {ex message}"); } } public async task deleteitemasync(string objectid) { var query = new parsequery\<parseobject>("items"); try { var item = await query getasync(objectid); await item deleteasync(); console writeline("item deleted successfully "); } catch (exception ex) { console writeline($"error deleting item {ex message}"); } } } вариант b использование rest или graphql если sdk parse net не предпочтителен, вы можете реализовать операции crud через rest вызовы например, чтобы получить элементы с помощью rest в приложении xamarin using system; using system io; using system net http; using system threading tasks; public class restclient { private static readonly httpclient client = new httpclient(); public async task fetchitemsasync() { try { var request = new httprequestmessage(httpmethod get, "https //parseapi back4app com/classes/items"); request headers add("x parse application id", "your application id"); request headers add("x parse rest api key", "your rest api key"); var response = await client sendasync(request); response ensuresuccessstatuscode(); var responsebody = await response content readasstringasync(); console writeline($"response {responsebody}"); } catch (exception ex) { console writeline($"error fetching items {ex message}"); } } } интегрируйте эти api вызовы в ваш проект xamarin по мере необходимости шаг 5 – укрепление безопасности бэкенда настройка списков контроля доступа (acl) обеспечьте безопасность ваших данных, установив acl на ваши объекты например, чтобы создать элемент, доступный только его владельцу using parse; using system; public async task createprivateitemasync(string title, string description, parseuser owner) { var item = new parseobject("items"); item\["title"] = title; item\["description"] = description; var acl = new parseacl(owner); acl publicreadaccess = false; acl publicwriteaccess = false; item acl = acl; try { await item saveasync(); console writeline("private item created successfully "); } catch (exception ex) { console writeline($"error saving private item {ex message}"); } } настройка разрешений на уровне класса (clp) в вашей панели управления back4app настройте clp, чтобы установить правила доступа по умолчанию это гарантирует, что только аутентифицированные пользователи могут взаимодействовать с определенными классами шаг 6 – реализация аутентификации пользователей в xamarin управление учетными записями пользователей back4app использует встроенный класс parse user для аутентификации в вашем приложении xamarin управляйте регистрацией и входом пользователя, как показано ниже using parse; using system; public class authservice { public async task signupasync(string username, string password, string email) { var user = new parseuser { username = username, password = password, email = email }; try { await user signupasync(); console writeline("user registered successfully!"); } catch (exception ex) { console writeline($"error during sign up {ex message}"); } } public async task loginasync(string username, string password) { try { var user = await parseuser loginasync(username, password); console writeline($"user logged in {user username}"); } catch (exception ex) { console writeline($"login failed {ex message}"); } } } этот подход можно расширить, чтобы включить управление сессиями, восстановление пароля и другие функции, связанные с аутентификацией шаг 7 – заключение и будущие направления молодец! вы успешно разработали приложение crud на основе xamarin, интегрированное с back4app в этом руководстве вы настроили проект back4app с именем basic crud app xamarin разработали необходимые структуры данных для элементов и пользователей использовали приложение администратора back4app для управления вашими данными подключили ваше приложение xamarin через parse net sdk (или rest/graphql) для выполнения операций crud реализовали надежные меры безопасности, включая acl и clp настроили аутентификацию пользователей для управления созданием учетных записей и входом следующие шаги расширьте функциональность приложения рассмотрите возможность добавления таких функций, как расширенная фильтрация, детальные представления элементов или обновления данных в реальном времени улучшите возможности бэкенда изучите облачные функции, интеграции с третьими сторонами и управление доступом на основе ролей дальнейшее обучение посетите документацию back4app https //www back4app com/docs и дополнительные ресурсы для оптимизации и масштабирования вашего приложения счастливого кодирования и удачи с вашим приложением crud на xamarin!