More
Понимание сопоставления шаблонов в Flutter с использованием Back4app как бэкенда
10 мин
введение сопоставление шаблонов — это мощная функция, введенная в dart 3, которая позволяет разработчикам легко идентифицировать и извлекать конкретные структуры данных в своих приложениях если у вас есть опыт работы с такими языками, как kotlin, swift или javascript, вы, возможно, уже знакомы с сопоставлением шаблонов однако, если вы новичок в этой концепции в dart, этот учебник поможет вам освоиться с ней мы исследуем сопоставление шаблонов и то, как использовать его в приложении flutter с практическим примером, который интегрирует back4app в качестве бэкенда для управления и хранения данных предварительные требования перед тем как начать, убедитесь, что у вас есть следующее учетная запись back4app зарегистрируйтесь для получения бесплатной учетной записи на back4app com https //www back4app com настроенная среда разработки flutter на вашем локальном компьютере следуйте руководству по установке flutter https //flutter dev/docs/get started/install если вы еще не настроили ее базовые знания dart, виджетов flutter и использования back4app для бэкенд сервисов шаг 1 – настройка вашего бэкенда back4app создайте проект back4app войдите в свою учетную запись back4app https //www back4app com/ и создайте новый проект создайте классы parse для этого учебника создайте класс parse с именем userdata для хранения информации о пользователе имя пользователя (string) имя пользователя возраст (number) возраст пользователя предпочтения (json) json объект, хранящий предпочтения пользователя получите свои учетные данные back4app перейдите в настройки вашего проекта, чтобы получить ваш идентификатор приложения и ключ клиента, которые вам понадобятся для подключения вашего приложения flutter к back4app шаг 2 – настройка проекта flutter создайте новый проект flutter откройте терминал или командную строку и выполните flutter create pattern matching example добавьте зависимости откройте pubspec yaml и добавьте следующие зависимости dependencies flutter sdk flutter parse server sdk flutter latest version запустите flutter pub get для установки этих зависимостей инициализируйте parse в вашем приложении в lib/main dart , инициализируйте sdk parse import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk flutter dart'; void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your back4app app id'; const keyclientkey = 'your back4app client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize(keyapplicationid, keyparseserverurl, clientkey keyclientkey, autosendsessionid true); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( home patternmatchingscreen(), ); } } замените 'your back4app app id' и 'your back4app client key' на ваши реальные учетные данные back4app шаг 3 – реализация сопоставления шаблонов создайте виджет patternmatchingscreen в lib/main dart , создайте новый виджет, который демонстрирует сопоставление шаблонов, извлекая и обрабатывая данные пользователя class patternmatchingscreen extends statefulwidget { @override patternmatchingscreenstate createstate() => patternmatchingscreenstate(); } class patternmatchingscreenstate extends state\<patternmatchingscreen> { string message = 'fetching data '; @override void initstate() { super initstate(); fetchandmatchdata(); } future\<void> fetchandmatchdata() async { final query = querybuilder\<parseobject>(parseobject('userdata')); final response = await query query(); if (response success && response results != null) { for (var result in response results!) { // using pattern matching to destructure and validate data if (result is parseobject) { final userdata = { 'username' result get\<string>('username'), 'age' result get\<int>('age'), 'preferences' result get\<map\<string, dynamic>>('preferences') }; switch (userdata) { case { 'username' string name, 'age' int age when age >= 18, 'preferences' {'theme' string theme} } setstate(() { message = 'welcome, $name! you are $age years old and prefer the $theme theme '; }); break; default setstate(() { message = 'data does not match the required pattern '; }); break; } } } } else { setstate(() { message = 'failed to retrieve data '; }); } } @override widget build(buildcontext context) { return scaffold( appbar appbar(title text('pattern matching example')), body center(child text( message)), ); } } этот код извлекает данные пользователя из back4app, применяет сопоставление шаблонов для проверки и деструктуризации данных, а затем отображает персонализированное сообщение на основе сопоставленных данных шаг 4 – запуск приложения запустите ваше приложение с помощью flutter run вы должны увидеть сообщение на экране на основе извлеченных и сопоставленных данных с использованием сопоставления шаблонов проверьте данные в back4app войдя в свою панель управления back4app и проверив класс userdata вы можете настроить данные, чтобы увидеть, как разные шаблоны сопоставляются и как приложение реагирует заключение в этом учебном пособии мы исследовали концепцию сопоставления шаблонов в dart и то, как ее можно применить в приложении flutter интегрировав back4app в качестве бэкенда, мы продемонстрировали практический пример извлечения и обработки данных с использованием сопоставления шаблонов этот подход позволяет эффективно проверять и деструктурировать данные, делая ваши приложения flutter более надежными и удобными для обслуживания для получения дополнительной информации о шаблонах dart посетите документацию dart https //dart dev , а для советов по интеграции с бэкендом ознакомьтесь с документацией back4app https //www back4app com/docs удачного кодирования!