Apprendre à gérer l'API Rest dans Flutter - Android et IOS | Rahul Agarwal | Skillshare
Recherche

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Apprendre à gérer l'API Rest dans Flutter - Android et IOS

teacher avatar Rahul Agarwal, Flutter Developer & Trainer

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      INTRODUCTION DU COURS

      0:51

    • 2.

      Qu'est-ce que la demande de Http

      9:12

    • 3.

      Implémenter la demande GET à un serveur

      29:05

    • 4.

      Récupération de données Json à partir de l'API

      15:25

    • 5.

      Application d'achat de base

      24:51

    • 6.

      Demande de POST

      17:30

    • 7.

      Demande de PUT et de DELETE

      13:21

    • 8.

      Faire des demandes authentifiées

      10:51

    • 9.

      Pourquoi nous avons besoin de modèles

      7:16

    • 10.

      Créer notre premier cours de modèles

      10:51

    • 11.

      Changements requis dans le frontend

      6:31

    • 12.

      Outil pour générer des modèles facilement

      10:30

    • 13.

      Consommez un nouvel api de repos

      12:44

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

93

apprenants

--

À propos de ce cours

La gestion des demandes de réseau et l'intégration des API est l'un des problèmes rencontrés par les débutants de Flutter. Nous allons apprendre comment nous pouvons accéder à l'API REST dans une application Flutter. Aujourd'hui, la plupart des applications utilisent des données à distance en utilisant des API. Ainsi, ce cours sera l'important pour les développeurs qui veulent faire leur entreprise dans Flutter.

nous allons créer une application d'achat normale qui affiche une liste de produits qui sont récupérés sur Internet dans notre application Flutter. Nous intégrerons l'API Fakestore à cet effet. C'est une API REST en ligne gratuite que nous pouvons utiliser chaque fois que nous avons besoin de données factices pour notre application de commerce électronique sans avoir notre propre serveur de backend.

En outre, lorsque vous nous occupez des API, nous pouvons obtenir un grand nombre de données qui peuvent avoir de nombreux champs et donc leur meilleur pour convertir chaque champ JSON en objets fléchés. Ce concept s'appelle l'analyse JSON que nous allons également plus tard dans les discussions.

Rencontrez votre enseignant·e

Teacher Profile Image

Rahul Agarwal

Flutter Developer & Trainer

Enseignant·e

Hello, I'm Rahul. I am skilled in building cross platform application using Flutter. I am freelance developer as well as conduct workshops to share my knowledge with the community.

Voir le profil complet

Level: Intermediate

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. INTRODUCTION DU COURS: La gestion des requêtes réseau et l'intégration API sont l'un des problèmes rencontrés par les débutants en flutter. Dans ce cours, nous allons créer une application d'achat normale qui affiche une liste de produits qui sont récupérés sur Internet dans notre application plate qui intégrera fixe ou APA. À cette fin, il s'agit d'une API REST en ligne gratuite que nous pouvons utiliser chaque fois que nous en avons besoin pour notre application de commerce électronique sans avoir notre propre serveur principal. De plus, lorsque nous traitons avec des API, nous pouvons obtenir un grand nombre de données pouvant comporter de nombreux champs. Il est donc préférable de convertir chaque Jason en objets Dart. Ce concept est appelé parsing json, dont nous parlerons plus tard. Donc, sans perdre plus de temps, commençons. 2. Qu'est-ce que la demande de Http: Bonjour, bienvenue dans la nouvelle vidéo. Dans ce module, nous verrons comment implémenter des appels d'API REST en Floride. Si vous envisagez de développer des applications qui récupèrent des données sur Internet, vous devrez savoir comment effectuer requêtes réseau et comment gérer correctement les réponses. Donc, lorsque vous créez une application réelle, il y a de nombreux scénarios où vous devez récupérer des données à partir d'un devez récupérer des données à serveur ou vous devez utiliser certaines API dans votre demande. Qu'il s'agisse d'une API utilisée ou d'une API Google ou autre. Dans ces scénarios, vous devez savoir comment gérer les API de manière efficace. La question qui se pose maintenant est qu'est-ce qu'une requête réseau ? En termes simples, lorsque vous ouvrez une application comme WhatsApp, Instagram ou Twitter sur votre smartphone. App, essaie de récupérer les dernières données à partir d'un emplacement distant, appelle généralement ce serveur. Le serveur est un endroit centralisé qui stocke la plupart des données utilisateur. L'application que vous utilisez est appelée client. Il existe donc deux termes appelés serveur et client. Client est l'application, quelle que soit l'application ou l' application Android ou iOS que vous utilisez. Et le serveur est la base de données qui est stockée à distance. C'est donc un concept très basique. Qu'est-ce qu'une API RESTful ? Le reste correspond à Representational State Transfer. C'est une interface de programme d'application qui est une API, c' est-à-dire cette requête HTTP pour obtenir ou envoyer des données entre ordinateurs. N'oubliez pas que la communication entre un client et un serveur se fait principalement via des API RESTful. C'est ça. forme la plus simple de manière réaliste est une URL que le client utilise pour envoyer une requête au serveur. Donc, si vous voyez des API ou un repas, vous obtiendrez une URL, laquelle vous avez dû envoyer la demande. C'est-à-dire que vous devez accéder à cette URL particulière. Et à la réception d'une demande réussie, le serveur vérifie le point final de l'URL, effectue un certain traitement et renvoie les données demandées au client. C'est donc une façon très simple d'expliquer, certainement dans ce point technique de base, c'est peut-être un peu complexe également, mais vous devez juste vous rappeler que nous allons envoyer une requête au serveur le serveur va nous fournir quelques données. C'est ça. Il existe maintenant différentes méthodes que vous utilisez dans une API REST. Il y en a donc beaucoup alors, mais les plus couramment utilisés sont 4. Le premier est la requête GET. Cela signifie simplement que vous souhaitez obtenir certaines données à partir d'une requête de base de données distante à l'aide de la commande get only retrieve data, ce qui signifie qu'elles n'ont aucun autre effet sur ces données particulières. Cela signifie que vous allez simplement lire les données. Vous ne pouvez rien modifier à l'aide de la requête GET. Ne pas poster de demande. Les requêtes Post soumettent des données à cette ressource spécifique. Vous utilisez cette méthode pour envoyer des données au serveur, telles que des informations client ou des chargements de fichiers. Donc, indirectement, rappelez-vous simplement que si vous devez envoyer quelque chose du client au serveur et l'enregistrer sur le serveur. Dans ce scénario, vous utilisez la demande de publication. Le troisième est retardé. Donc, s'il fait ce qu'il dit, il supprime la ressource spécifique du serveur. Et le quatrième est mis, c'est-à-dire remplace, ou vous pouvez dire, met à jour toutes les représentations actuelles des ressources cibles. Cela signifie que vous avez déjà envoyé certaines données au serveur, mais que vous souhaitez par la suite mettre à jour cet audit de terrain, en particulier des données telles que l'âge ou le numéro de téléphone. Dans ce cas, vous devez utiliser la requête PUT. s'agit donc certainement d'une demande de correctif et de quelques autres. Si vous voulez connaître toutes les demandes, vous pouvez simplement le rechercher sur Google. Mais la plupart du temps lorsque vous créez une application, vous travaillez avec celle-ci sur demande. Maintenant, dans le flutter, si vous voulez faire quelque chose, nous devons avoir cette dépendance. Donc, pour la requête HTTP, il existe également une dépendance appelée le package HTTP qui consiste simplement à ajouter votre navigateur, à aller dans dev et à taper http. Et puis n' oubliez pas de sélectionner celui-ci. Ça vient de l'équipe Dart elle-même. Oui, faites défiler vers le bas et copiez cette dépendance. Et dans votre application, vous pouvez le coller. N'oubliez pas, si vous voulez créer un nouveau projet, vous pouvez également le faire maintenant J'utilise notre projet précédent, mais je vais supprimer ces codes précédents. Donc, si vous le souhaitez, vous pouvez simplement mettre la vidéo en pause et simplement écrire Florida, créer un nouveau projet et recommencer depuis le début. C'est à toi de décider. Notre pub aux lettres est en cours d'exécution. Il obtiendra la dépendance et oui, c'est fait. Notre dépendance HTTP est maintenant installée. La prochaine chose que je vais faire est supprimer les fichiers précédents. Et maintenant, dans le dossier mid lib, je vais créer de nouveaux dossiers comme le premier est vert, et le second est le dossier services. Et à l'intérieur de l'écran, je vais créer des services point point et insights. Je me souviens que je vais créer des API service point point point. Donc ce que j'ai fait, c'est que j'ai organisé nos codes de manière propre. C'est comme si tous les écrans se trouveraient dans le dossier des écrans. Tous les services d'API dont le code côté serveur est plus ancien ou tout autre interagissant avec l'API figureront dans le point point du service API. De cette façon, vous avez une séparation du code et vous aurez ce modèle MVC, c' est-à-dire le modèle Model View Controller également. C'est une bonne pratique. , vous ne voulez pas écrire tous vos codes de manière aléatoire et dans un seul fichier. Il vous sera très difficile d'organiser ou déboguer à long terme. C'est ça. Nous avons compris ce qu'est STDP, quelles sont ses méthodes différentes et comment installer le package HTTP dans notre projet. Au cours de la prochaine session, nous utiliserons de vraies API et les appellerons à l'aide de cette requête GET. Merci. Rendez-vous dans la prochaine vidéo. 3. Implémenter la demande GET à un serveur: Salut. Dans cette session, nous utiliserons une véritable API REST nommée fixed ou APA. Sur Internet, vous obtiendrez de nombreuses API, mais nous utiliserons une API fictive pour que son utilisation soit gratuite. Et nous pouvons faire ce que nous voulons. Avec cette API. Nous pouvons obtenir de fausses données sur le commerce électronique. Ce qui signifie simplement que si vous souhaitez obtenir des produits, des catégories, utilisateurs ou autre, vous pouvez les obtenir auprès de cet APM. Apportez votre éditeur de texte au fur et à mesure que vous apportez votre navigateur, et tapez simplement fixed ou APA. Et le premier qui apparaît, vous devez cliquer dessus. L'URL est le faux magasin Api.com. Alors oui, c'est ça. Vous n'avez pas besoin de créer compte ou quoi que ce soit pour l'utiliser. Ce sont les ressources qu'il nous fournit des produits. Il nous donne l'armée capturée, il nous donne des utilisateurs et des jetons de connexion. Et ces autres routes. C'est-à-dire que je parlais de Nike. Il existe des URL et des pods. Vous pouvez dire « points finaux ». Vous devez envoyer une demande. Ce sont donc les points de terminaison. Donc, simplement si je clique dessus, voir en haut de la page, vous pouvez voir faux magasins, des produits slash API.com. Il s'agit de l'URL, et lorsque vous cliquez sur cette URL, c'est la réponse que vous obtiendrez. C'est donc dans ce format JSON. Il a le titre de l'identifiant, puis la description, l'image, le prix. Ce sont donc les données qu'il nous fournira et nous les utiliserons, ces données dans notre interface utilisateur. Alors rappelez-vous qu'après avoir terminé cette fausse API de magasin, vous pouvez avoir l'API News, vous pouvez avoir l'API de blog. Il existe de nombreuses autres API. Si vous le souhaitez, vous pouvez l' essayer vous-même. Mais commençons par l'APA de cette semaine. La première chose que nous devons faire est de créer une fonction qui gérera cette requête GET. Cela signifie simplement que cette fonction interagira avec l'API. À partir de maintenant, nous allons écrire les services d'API, c'est-à-dire tous les services liés aux API. Dans ce fichier séparé. Nous ne voulons pas tout écrire dans l'interface utilisateur. Importons simplement le package HTTP dans un premier temps. C'est comme ça qu'il faut procéder. Ensuite, je vais simplement créer la classe de service APIs. Cette classe peut être utilisée n'importe où dans notre application en créant un objet puis en appelant directement ces fonctions. La première fonction que nous allons créer est GET ou post. Ce sera donc une synchronisation. Maintenant, nous devons d'abord écrire l'URL. L'URL est la suivante. Vous pouvez simplement obtenir l' URL en haut de la page. Il vous suffit de le copier et de le coller ici. Maintenant, pour envoyer une requête get à l'aide de ce package HTTP, vous ne pouvez pas envoyer directement la chaîne. Vous devez le convertir en barres d'URI. Et à l'intérieur. Tu dois mentionner «  yard and point ». C'est la méthode ou c' est la façon de le faire. Tu te souviens juste de ça. Absolument. Tu vas t'y habituer. Maintenant. Nous avons maintenant l'URL à utiliser pour envoyer la requête. Maintenant c'est l'heure. Nous obtenons le résultat qui utilise le package HTTP. C'est le point P. Et puis vous pouvez voir qu'il y a beaucoup de demandes après le patch. Mais nous voulons cette requête GET. Et à l'intérieur, il vous suffit d' écrire l'URL du produit. Ok ? Tu dois le rendre. Maintenant. Vous pouvez imprimer le code d'état du point de résultat. Si c'est 200, nous avons obtenu cette réponse. Si c'est 404, alors cette page n'existe pas. Et aussi, si vous le souhaitez, vous pouvez simplement nommer. C'est. Répond comme vous pouvez le faire par son nom, vous pouvez comprendre que cette variable a la réponse de la requête GET. Enfin, vous devez renvoyer ce corps de réponse au format JSON. Donc vous allez juste, d'accord Jason, vous devez importer cette conversion de données et nous allons simplement écrire json point, decode et response.body ici. Notre fonction ou notre méthode est donc terminée. C'est ainsi que nous envoyons une requête GET. Donc, vous pouvez simplement voir, première chose à faire était d'écrire une URL. La deuxième consistait à obtenir la réponse en utilisant cette réponse http.get. Et après cette obtention STDP, nous pouvons renvoyer le corps de la réponse à l'interface utilisateur appelant cette fonction. Ok ? La partie suivante consiste à afficher ces données sur notre page d'accueil. Simplement dans le point d'accueil, créez un point. Accueil de l'interface utilisateur de base Alors return est faux. Dan, app. Dans la barre de l'application. Je suis mort. Ensuite, je vais le faire centré. Le titre est égal à vrai, altitude est égale à 0. Et je vais donner la couleur d' arrière-plan comme les couleurs de fond accent rouge. Dans le corps. Nous utiliserons le futur Builder puisque cette fonction est une future. Et à l'avenir, je vais simplement écrire point de réponse de l' API, obtenir tous les messages. Voyez ici que nous avons créé cet objet de cette classe et appelons simplement cette future fonction. C'est donc la première fois que vous utiliserez une vraie fonction future. Dans les vidéos précédentes, nous faisions juste peur à cette fonction. Mais maintenant, il s'agit d'une véritable fonction serveur qui prendra un certain temps à s'exécuter. Dans le générateur, nous aurons un texte et un instantané. Donc, comme d'habitude, au tout début, nous allons vérifier si l' instantané contient des données ou bien retourner l'indicateur de progression circulaire central. Et s'il contient des données pour le moment, nous envoyons simplement un texto de réussite. Parce que je veux voir la sortie au début, cette sortie dans la console de débogage au début. Nous allons donc recommencer. Déposer notre candidature. voyez, nous avons ce succès ici, mais dans la console de débogage, vous pouvez voir que le code response.status est 200 et le corps de la réponse est comme ceci. C'est-à-dire qu'il s'agit d'une liste de cartes. Donc dans les premières données. Il s'agit des premières données. Vous avez donc un titre d'identification, une description. Il s'agit du format JSON. Pour afficher ces données dans l'interface utilisateur ici, nous utiliserons simplement un widget de création de points de vue liste. Widget Générateur de points de vue liste, identique au widget ListView. Ici. Ces données peuvent être illimitées. C'est-à-dire que nous ne connaissons pas le nombre d'éléments de cette liste. Nous allons donc simplement écrire la longueur de cette liste ici. générateur de points de vue liste possède deux paramètres. Le premier est le nombre d'objets et le second est le générateur d'objets. Item Builder est une fonction qui a des contextes et qui index, index est la position de cet élément dans la liste qui commence à 0. L'index commence donc de 0123 au nombre d'éléments de cette liste moins un. Parce que s'il y a cinq éléments dans la liste, l'index sera compris entre 0 et 4. Donc, simplement, le nombre d'éléments sera constitué de données de point d'instantané, longueur de point, car l' instantané de ces données est celui-ci. Et nous utiliserons sa longueur. N'oubliez donc pas que si nous rendons quelque chose dans le futur, ce futur le fera. données sont stockées dans cette variable d'instantané. OK, nous avons maintenant un générateur de points de vue liste. Et dans le générateur d'objets, nous devons renvoyer quel devrait être le rigide dans cette interface utilisateur ? C'est-à-dire que devons-nous revenir à l'écran de l'interface utilisateur ? Et je vais retourner la tuile de liste. Maintenant, simplement dans ce titre, je vais écrire des données ponctuelles instantanées. Ensuite, l'index c'est parce que c'est une liste, nous devons utiliser cet index qui commencera à 0. Cela imagine que 0 pollution est celle-ci. Ok ? Nous voici donc ici moment même dans ces données que cela. Il en sera un à partir d'ici. Ça en sera un, je suppose qu'il est toujours là. Oui. Oui, toujours là, c' est le second indice. Donc ici, je vais simplement afficher le titre ici. Ça, c'est la caisse. Si je fais cela, avons-nous une erreur ou recevons-nous les données ? Nous avons eu cette erreur, ok, ok, désolé, désolé. Il suffit de le couper et de le coller ici. Et s'il ne contient pas de données, nous retournerons simplement l'indicateur de progression. C'était une erreur très stupide. Mais ces choses-là se produisent. OK. Maintenant, vérifions-le encore une fois. Voyez qu'il est en cours de chargement , puis nous avons ces données. Et comme il s'agit d'une vue de liste de données, je peux faire défiler. Nous avons un sac à dos, chemise slim, une veste en coton, plein de choses. Nous avons donc toutes les données. J'espère que tu as compris comment j' ai utilisé ce truc avec Jason. Les données ponctuelles instantanées sont simplement cette liste, cet index de liste détaillé. Je suis passé à la position crépuscule 0, qui est ceci. Et à partir de la position 0, j'ai sorti cette clé de titre parce que je sais qu'elle est dans la carte au format JSON, donc je dois juste utiliser cette valeur de clé. Maintenant que le titre est en tête, je vais utiliser la propriété image. Réseau de points d'image. Ensuite, il suffit ici d'écrire l'index de données de point d' instantané plutôt que Et je vais simplement écrire la hauteur comme 5030. Maintenant, sauvegardons et voyons. Vérifiez à nouveau s'il fonctionne correctement. Oui. Nous avons les images du serveur. C'est donc la première fois que vos données sont réelles, qu'elles proviennent du serveur et votre application est plutôt bonne. La prochaine chose que je ferais est d'utiliser ce sous-titre. Et dans ce texte, j'utiliserai l' index des données de points instantanés, puis j'utiliserai ce truc de prix. Et comme c'est un entier, je vais le convertir en une chaîne, C 1091. Mais je veux aussi ajouter le signe dollar. Et pour écrire des dollars. Et vous ne pouvez pas simplement écrire ce symbole parce que la Floride a une signification différente pour cela. Vous devez donc utiliser une barre oblique inversée comme ceci. Et je vais simplement augmenter le prix est égal à la barre oblique inverse du dollar puis plus. Et quand vous vérifiez la sortie, elle est très bonne. Ça a l'air plutôt bon. J'espère que tu as compris. Jusqu'à présent. Nous utilisions cette requête get. C'est le premier où nous obtenons tous les produits. Cette deuxième méthode HTTP ou route est constituée de produits, puis d'un produit particulier, ce qui signifie simplement comment obtenir les détails de ce produit unique. C'est donc également très important. Si vous cliquez dessus, vous pouvez voir le résultat. Ce n'est que le détail d' un seul produit. Donc, si vous avez utilisé une application de commerce électronique lorsque vous cliquez sur ce produit, une autre page apparaît où vous avez les détails détaillés du produit, l'image du produit, la catégorie et puis le bouton Ajouter au panier. Pour l'utiliser, encore une fois, vous devez créer une nouvelle fonction. Alors, qui sera simplement un seul détail du produit. Pour obtenir le détail du produit, comment cela se fait. Essayons de le faire. D'abord. Après ce post de guitare, je vais simplement le copier , le coller, et je vais le nommer, obtenir un seul produit. Et le nom de la variable sera single product, URL. Et aussi cette API URL est ID ici. Et c'est vraiment unique parce que nous ne savons pas sur quel utilisateur cliquera. Nous devons donc lui envoyer Id pendant que nous appelons cette fonction en tant qu'argument. s'agit donc simplement du Maktab. Pour obtenir le détail d' un produit en particulier. Tout sera pareil. Seule l'URL est différente maintenant, et nous envoyons également l'ID. Maintenant, dans le dossier screen, créez un autre nom de fichier, écran Product Detail. Ainsi, lorsque l'utilisateur clique sur ce produit en particulier, il doit être envoyé à l'écran Détails du produit en portant l' ID du produit. Il suffit donc d'entrer du matériel. Ensuite, utilisez un widget dynamique appelé détail du produit. Et maintenant, rappelez-vous simplement qu'il accepte et qu'il est identifié , et nous l'enverrons au constructeur. Maintenant, dans cette fonction de facture, il suffit d'écrire scaffold. Encore une fois, même chose, AB bar. Puis à l'intérieur d'une couleur de fond colore l'accent rouge. Et dans leur corps. Nous devons à nouveau utiliser ce futur constructeur pour appeler notre fonction d'enquêtes sur les API. Dot obtient un seul produit et cet identifiant, et cet identifiant passe par le constructeur. Dans le contexte. Instantané. Vérifiez ensuite l'instantané contenant des données, sinon renvoyez un indicateur de progression circulaire. C'est ça. Encore une fois, je vais simplement revenir ici sur le prochain succès, juste pour vous montrer comment cela se passe. Cela fonctionne-t-il ou non ? Sur l'écran d'accueil ? Dans la vue de liste, vous devez utiliser cette propriété sur le robinet. Vous enverrez cela en envoyant l'utilisateur à l'écran Détails du produit. Adl collez ce code. Vous devez simplement vous rappeler comment pousser le code et tous les détails de base du produit. Et dans l'ID, vous devez simplement être cet index , puis simplement écrire ID. Maintenant, si je l'enregistre et que je clique sur le premier élément, C, il s'affiche. Ensuite, dans la console de débogage, vous pouvez voir la sortie. C'est le titre de l'identifiant, encore une fois, c'est pareil. Il vous suffit donc de le mettre en valeur. Utilisez ce détail pour les afficher dans l'interface utilisateur, comme nous l'avons fait sur la page d'accueil. Donc, dans l'écran du produit, il suffit de supprimer ce texte et de retourner un conteneur. Et le conteneur donne juste une marge au tout début. Ensuite, l'enfant sera colonne car il y a beaucoup de données. Maintenant, tout simplement au tout début, je vais avoir ce réseau de points d'image qui semble données par points. Et son index ne sera plus là, car il s'agit d'une carte statique, pas d'une liste. Bon ? Image d'une hauteur de 200 et d'un poids de double point infini, c'est-à-dire le poids total de l'écran. Et puis utilise VJ centré et un enfant a montré un prix plus élevé. Encore une fois, je vais utiliser la même chose que données de points instantanés et essaierai de ficeler et de donner un peu de style. Maintenant, le style sera une taille de police de 25 et une épaisseur de police. Poids de police, gras. Sauvons-le. Cabane. Voir. Ça a l'air tellement beau. Maintenant, ce que je vais faire, c'est que je vais juste donner un peu d'espacement en haut en utilisant cette boîte de taille et donner le type D. Donc, l'image sera mortelle vers le bas et entre l'image et le prix, je vais également donner une hauteur de dix afin que nous ayons cet espacement ici. Et dans la colonne, j' utiliserai l' alignement principal qui commence. Vous saurez pourquoi je l'ai fait dans les prochains widgets que nous utiliserons. Mais pour le moment, nous avons une très belle interface utilisateur, qui contient tous les produits dans le premier écran. Et quand je clique sur ce produit, c'est une veste en coton. Voyez avec l'image, c'est l'image du produit et le prix est affiché. C'est donc ça. J'espère que vous avez apprécié la création de cette vidéo. Ici. Nous avons utilisé cette requête HTTP GET. N'oubliez pas qu'il s'agit du seul code requis. Tout d'abord, cette URL est http.get. Enfin, vous devez renvoyer la réponse et la décoder dans un format adjacent. C'est ça. Dans la vidéo suivante, nous allons compléter cette page entière affichant tous les détails tels que la description, la catégorie et le bouton Ajouter au panier. D'ici là, essayez simplement de bien comprendre le code. Si vous n'avez pas compris, il suffit de regarder cette vidéo à nouveau. Mais ne sautez aucun concept, s'il vous plaît. Merci. 4. Récupération de données Json à partir de l'API: Lors de la dernière session, nous avons pu récupérer les détails d'un produit en particulier. Et nous avons pu le rendre dans l'interface utilisateur. Jusqu'à présent, seule l'image du prix est affichée. Mais aujourd'hui, dans cette session, nous allons continuer à montrer tous les détails tels que la description, la catégorie. Et si j'ai également un bouton Ajouter au panier. Commençons par la page détaillée du produit. Nous avons cette image. Puis au centre. Nous avons ce prix. Ensuite, nous allons avoir une boîte dimensionnée pour donner peu d'espacement et avoir une hauteur de dix. Ensuite, ayez un widget où nous afficherons ce titre. Various a montré ce titre et donnons-lui un peu de style. Nous voulons juste que la taille de police soit 25. Voyons voir. Ok, on l'a. Maintenant. La zone de texte. Nous allons avoir un widget de puce. Si vous n'êtes pas bon marché, vous saurez simplement, si vous le voyez, que c'est une sorte de tags. Si vous avez vu un tag électronique, un tag de catégorie ou des hashtags. Ce type de rigide est utilisé. Donc, ici, nous allons montrer que vous obtenez un diplôme. Et nous allons avoir des decks. Passons au lendemain. La police, la taille 15 et les couleurs plus froides sont des points blancs. Et dans cette forme. Nous allons avoir une couleur de fond. Les couleurs, le bleu, le gris. Allons voir ça. Tu vois, je parlais de ce widget. Également. Si vous le souhaitez, vous pouvez faire en sorte que l'alignement de l'axe transversal soit sombre afin que tout arrive ici. De ce côté, comme ça. C'est à toi de décider, ce que tu veux. Ce sont des trucs de style très basiques. Ce n'est pas un gros problème. Encore une fois, ayez une boîte de taille. Enfin, nous montrerons cette description. Toutes les clés sont là. À l'intérieur de la réponse. Vous pouvez voir l'image de description. Et maintenant je vais enregistrer et voir que c'est la description. Donc, si vous le souhaitez, vous pouvez appliquer un style ou une taille de police. Je vais juste laisser ça comme ça. Maintenant. Disposons ici d'un bouton Ajouter au panier. Je vais le donner comme bouton flottant, bouton d'action flottant. Disons qu'il s'agit d'un bouton d'action flottant. Alors mon enfant. Chez l'enfant. Laissons l'icône. Ajoutez un panier, carte d' achat soulignée dans la poitrine. Nous ne faisons rien. Tu vois, on a ça ici. Je vais juste lui donner la couleur de fond, colorée en vert. Et je vais également changer l'emplacement du bouton d'action flottant. Je vais lui donner l'emplacement du bouton d'action flottant, le flotteur central. Alors tu vois, ça a l'air décent. Notre page détaillée du produit est également terminée. Si vous allez sur un autre produit, voir tous les détails sont ici. Le titre de la catégorie, le prix, tout est parfait. Maintenant, lorsque nous allons à l'API du faux magasin, nous pouvons voir que nous avons fait ce point de terminaison qui consiste à obtenir des produits plus anciens, obtenir un produit particulier. Il est temps de trouver les catégories. Voyez si on clique dessus, il y a 12344 catégories. Nous allons donc afficher ces catégories dans notre interface utilisateur. Tout d'abord, nous allons créer une fonction qui interagira. Je vais juste copier-coller et à droite, obtenir le grain de sable. Il n'accepte rien. Cela va recevoir une URL. Ici. C'est le point final. Donc maintenant cette fonction va sur le serveur et va chercher sur la catégorie présente Indus EPI. Pas définitivement. Pour cela, encore une fois, nous devons créer un nouvel écran. Je vais tout nommer catégorie point, point. J'espère que vous comprenez que, maintenant, il est très facile de mettre en œuvre la requête GET. Tout est fondamentalement pareil. Nous sommes en train de terminer notre interface utilisateur pour qu'elle soit très belle. Dans l'ancienne catégorie point point était simplement important. Créez ensuite un widget sans état appelé get a goodie. Maintenant, ayez une barre d'échafaudage. Mort de. Suivant. Obtenez les goodies avec une couleur de fond rouge et envoyez-les dans le corps. Nous aurons cet avenir. Est-ce que ça va encore ? Puisqu'il interagira avec notre fonction. Maintenant, utilisez l'objet de notre classe pour appeler la fonction get all category. Dans le constructeur. Nous aurons un contexte et un instantané de l'évier. Nous devons simplement vérifier si le point d'instantané contient des données. Si ce n'est pas le cas, nous retournerons un ensemble d'indicateurs de progression plus froids. Si l'instantané qui a le diable, cela pour le moment est renvoyé, renvoie un succès. Maintenant, ce que vous pouvez faire, c'est que nous devons naviguer jusqu'à l'écran. Et pour cela, sur la page d'accueil, je vais créer des boutons. Ça le sera, je peux, mais il y aura une icône. Je peux commencer à voir la liste. Nous allons maintenant accéder à l'écran des catégories. page de ma TDL. Nous allons avoir un contexte. Et ça. Voyons donc comment cela fonctionne, quelle est la sortie dans la console de débogage. Tu peux. Voyez ici c'est le bouton d' icône que nous avons, qui correspond à toutes les catégories sur lesquelles si je clique dessus, nous avons ce succès et voyons, c'est la réponse de sortie du serveur. Donc maintenant simplement dans l' ancienne page de catégorie, je vais retourner un générateur de vue liste. Puisque c'est une liste. Nombre d'éléments, données ponctuelles d'instantanés, longueur des points. Et dans le générateur d'objets, j'aurai simplement des contextes et un index. Maintenant, nous avons cet index et nous allons maintenant retourner un widget de carte. Il s'agit d'un autre widget. Je suppose que c'est un widget vraiment basique qui a un allégement, va juste donner une certaine marge et lui donner ensuite une forme de bordure rectangulaire arrondie , rayon de la bordure , cercle 15. Et puis dans cet enfant, tu auras un contenant. C'est juste une chose de base où je vais afficher ces appareils électroniques. Joy reste la collection de tout. Maintenant, dans ce texte, je vais afficher les données de points d'instantané, puis directement indexer. Et je vais le mettre en majuscules. Juste pour regarder une bonne journée. Je vais donner une taille de police de 25. Voyons voir. Voyons le résultat. Maintenant, quand je clique dessus. Voir électronique, bijoux, vêtements pour hommes, femmes. C'est donc très beau. Ça a l'air décent. Vous pouvez dire au moins cette marge et ce remplissage où j'avais l'habitude de donner l'espacement à l'intérieur et à l'extérieur de ces cartes. Et certainement lorsque nous cliquerons sur cette carte, nous devrions aller un écran où tous les produits liés à cette catégorie seront affichés. Pour cela dans la carte, nous allons simplement l'envelopper avec un widget encrier et nous n'avons pas de fonction « tap », que nous utiliserons plus tard pour récupérer les produits par catégories. C'est donc tout pour cette vidéo. Dans la vidéo suivante, nous allons chercher les produits par catégories. ONG. 5. Application d'achat de base: Bonjour, bon retour. Au cours de cette session, nous allons compléter cette demande GET. Et jusqu'à présent, nous pouvions récupérer les catégories et les afficher dans notre application. Mais il est maintenant temps de chercher produits basés sur ces catégories. Cela signifie que si je clique sur électronique, un nouvel écran devrait apparaître contenant tous les produits électroniques. Et pour ce point de terminaison, il y a celui-ci, c'est-à-dire la catégorie de produits. Ensuite, nous devons envoyer le nom de cette catégorie. Comme toujours, commençons par l'API. Donc pour cela, je vais simplement copier ceci et le coller ici. Je vais le nommer, obtenir le produit. En obtenant. Maintenant, il acceptera un chat de chaîne nommé ce nom de catégorie. Et le nom de la variable. Je vais changer cela pour récupérer le produit. Prends le sérieux que tu es. Tu peux nommer ce que tu veux. Et ici, le point final est comme cette catégorie , puis le nom du chat. Alors tu vois, c'est comme ça que ça se fait et si on clique dessus, ça nous donnera une réponse. Avec les produits Alda. Maintenant, nous avons la fonction prête, mais nous devons également créer un nouvel écran, que nous appellerons cette fonction. Je vais nommer la catégorie d'âge, le point point du produit. Et je vais maintenant importer ma TDL. Qu'un état moins rigide d'un écran. Il accepte un nom de catégorie dans le constructeur. Nous devons l'affecter à cette variable. Maintenant, nous allons échafauder. Puis AB bar. Dans ce titre. Je vais donner le nom de cette catégorie en majuscules. Il doit s'agir des couleurs de titre et d'arrière-plan. Kettler commence à lire. Et puis le tag central a été traité. Maintenant, ce que nous voulons, c'est que lorsque nous cliquons dessus, ce pitch devrait s'ouvrir. Passons donc à la catégorie pétrole. Et dans l'encrier, nous devons utiliser Navigator, dot bush. Puis mon TDL Page Layout, View Reveal, puis le nom products grain. Ensuite, nous devons envoyer ce nom en particulier. Nous obtiendrons le nom à partir des données de l'instantané, puis nous l'indexerons. Essayons-le. Voyons ce qui se passe. Maintenant, quand je vais dans Catégories et que je clique sur bijoux. Ces joies sont là dans le bar de l'AB. Si je clique sur l'électronique, l' électronique est là. Nous allons donc maintenant simplement utiliser un futur constructeur à l'intérieur de la page produit de la catégorie. Et je viens juste de le nommer correctement. Ok, donc dans le corps, nous allons avoir un futur constructeur. Nan. Ensuite, le futur sera App Service, obtiendra le produit par catégorie, puis enverra la variable de nom graveleux. Et dans le constructeur, nous aurons un contexte. Comme toujours, je suppose que tu vas juste l'apprendre. Maintenant. La même chose que nous faisons encore et encore. Peut-être jamais de contextes. Et puis un seul instantané. Nous allons vérifier. Si l'instantané contient des données et renvoie circulaire indicateur de progression circulaire. Nous l'avons fait plus que, j'ai même oublié combien de fois nous avons fait ces choses. Maintenant, s'il contient les données, nous allons utiliser un générateur de vues de liste. Maintenant, cette interface utilisateur souhaite la même chose que l'interface utilisateur d'accueil. Ce générateur ListView. Cette catégorie. Nous allons simplement activer ce générateur ListView. Et tout d'abord, je vais juste vérifier si tout est correct ici. Données ponctuelles instantanées, point, del, prix de l'indice que cet écran de produit que je vais importer. Ok, voyons ça. S'il y a une erreur. Quand je clique sur l'électronique, rien ne s'est passé. Voyons voir, a-t-il une erreur ou une erreur ? Produit par catégorie ? Bon, produit par catégorie. Ensuite, nous avons cette fonction. Redémarrons maintenant et vérifions s'il y a encore une erreur persistante. Je suppose que je n'ai tout simplement pas enregistré le fichier. C'est très bien ça. Mais voyez-le maintenant, si je vais et que seuls les bijoux seront vraiment là et si je clique dessus, cette page détaillée du produit apparaîtra. Cela fonctionne donc très bien. Et je suppose que notre portion est terminée. Maintenant, quand nous pensons à une application de commerce électronique, vous pouvez dire qu'il existe certainement un panier d'achat que nous n'avons pas utilisé ici. Allons voir ce document de ressources. Et ici, vous pouvez voir que nous pouvons également obtenir un panier, qui nous donnera certains produits si nous envoyons un identifiant utilisateur. Je vous prie donc de prendre le temps de lire ces documents. Tu apprendras beaucoup de choses. Il y a beaucoup de points finaux. Pareil. J'en utilise quelques-unes juste pour vous montrer comment faire. Nous allons maintenant implémenter la page du panier. Tout d'abord, nous allons implémenter une fonction qui va obtenir cette carte. Donc je vais juste le nommer, obtenir une carte. Il accepte un nom d'utilisateur. Et je vais l'appeler «  Fetch Card Products ». Et puis le point final est. Cette carte, puis l'ID utilisateur. Il s'agit du point final de l'API du panier. Comme il s'agit d'une API factice, nous devons utiliser informations utilisateur déjà existantes dans leurs produits automobiles. Nous ne pouvons pas insérer nos propres données pour de vrai. Nous allons prendre un identifiant d'utilisateur pour récupérer qu'il se trouve dans simplement rappelez-vous ce que nous faisons n' est que de fausses données. Je voudrais juste que vous compreniez le concept de HTTP et comment récupérer et afficher les données dans l'interface utilisateur. C'est ça, rien de plus. Maintenant, créons une page d'écran de garde. Le point vert de Dieu. Importez ensuite du matériel. Faisons un écran de cartes moins rigide. Alors comme vous le ferez, nous aurons son échafaud. Ensuite, dans ce titre. Bon ? Tu l'es. Bon sang, ça aura l'air professionnel. Ensuite, certains Ted sont les mêmes qu'avant nous l'avons fait tellement de fois, je suppose que maintenant vous aviez un expert dans ces domaines. Maintenant, dans le corps, nous aurons quelques présidents d'un constructeur qui acceptera si l'avenir obtenir une carte. Et je vais envoyer un ID utilisateur, dont je sais déjà qu'il est là dans le fixe ou l'API. Il suffit d'utiliser la documentation de cette API. Encore une fois, si vous n'avez pas compris instantané qui a un centre de données, c'est un indicateur de progression circulaire. Ici. Pour le moment, je suis en train de lire un texte de réussite afin que nous puissions obtenir ce résultat dans la console de débogage. Maintenant, évidemment, nous devons également naviguer vers l'écran. Alors à la maison, allez dans la barre de l'application et je vais copier ce bouton d'icône et le coller. Et maintenant, ce sera le panier d'achat. Et cette page sera l'écran des gardes. Allons voir ça. Tu vois, nous avons cette carte. Je peux entendre. Maintenant, si je clique sur l'icône du panier, cette réponse est la suivante. Cela nous donne une réponse de 200. C'est-à-dire que c'était un succès. Nous avons l'ID utilisateur un. Alors. Notre principale préoccupation est la clé des produits les plus simples. La clé du produit a donc la valeur d'un tableau, qui comprend l' identifiant du produit et la quantité. obtenons donc ici uniquement cet identifiant de produit. Nous devons donc utiliser les futurs constructeurs afin de récupérer les détails de la carte dans un premier temps, puis de récupérer le produit. C'est pourquoi nous voulons le nom du produit et l'image du produit à partir de cet identifiant de produit. Commençons donc pour cela. Simplement, nous écrirons si l' instantané contient des données, puis nous aurons une liste de produits, qui est, qui est cette clé, est-à-dire la clé des produits. Maintenant, nous allons utiliser un générateur de vue de liste. Affichez tous ces produits. Et dans le nombre d'articles, j'utiliserai des produits point land. Et dans le générateur d'objets, j'utiliserai le contexte et l'index. Maintenant, le plaisir commence parce que, encore une fois, nous devons utiliser un futur. Parce que maintenant nous devons obtenir les détails du produit à partir de l'identifiant du produit, ce que nous avons déjà fait auparavant. Nous devons donc simplement écrire des API, des enquêtes, point obtient un produit unique. Et puis je vais simplement utiliser ces produits, puis indexer puis cet identifiant de produit. Comme ça. Maintenant, encore une fois, je vais avoir des contextes Rick , puis voir un instantané. Cette fois, je vais nommer l'instantané de l'arc. Et puis encore une fois, nous devons vérifier si un seul point d' instantané contient des données. Cette fois, je vais retourner un indicateur de progression linéaire pour la première fois. Et maintenant je vais avoir un style de liste contenant tous les détails. Simplement dans le style liste. Je vais d'abord avoir ce titre et vous montrer qu'il fonctionne. Chantez les données ponctuelles d'instantané, puis le titre. Voyons si cela fonctionne ou non. Sortez votre candidature. Et puis simplement si je clique sur ce panier, C, C, nous avons les trois articles qui se trouvent dans le panier. Cette logique est un peu délicate, mais vous devez mettre la vidéo en pause et la comprendre correctement. Dans le premier futur constructeur, nous recevons le chariot. Dans le second futur constructeur, nous obtenons le nom de l'image du produit et un prix à partir de cet identifiant de produit. En tête, j'utiliserai le réseau de points d'image, puis simplement les données de points d'image. Et puis image. Je vais juste lui donner une hauteur de 40. Alors dans le sous-titre, j'écrirai ce prix ou pas le prix. Je veux dire cette quantité. Combien je l'ai commandé. Ce n'est pas moi, ça, ces données d'API factices. Et c'est une quantité, nous devons donc la changer en chaîne. Et puis dans cette fin, j'aurai un bouton d'icône et l'icône sera supprimée. C'est un produit retardé. Je construis tout cela pour en faire plus, charger beaucoup plus d'applications du monde réel et pas seulement une application factice. Espérons que tout fonctionne bien. Apportez votre émulateur et votre code dans le panier. Et tu vois, ça a l'air parfait. Nous avons ce titre, nous avons l'image et nous avons également la quantité. Cela ressemble maintenant à une page de panier du monde réel. Nous n'avons besoin que d'un bouton de commande de base maintenant ici. Nous pouvons le donner dans la propriété de navigation inférieure de l'échafaudage. Scaffold, au lieu d'utiliser le bouton d'action flottant, je vais utiliser, mais la barre de navigation. Et ici, j' aurai un conteneur. Ensuite, je vais juste lui donner une hauteur de 60. Poids de l'infini à deux points, c'est-à-dire la largeur totale. Couleurs vertes. Et dans cet enfant aura une région centrale de texte, qui sera, que nous avons dans le bon ordre maintenant. Ensuite, donnez-lui un peu de style de texte. Couleur, couleurs, blanc, taille de police. Taille de police. Je vais lui en donner 30. Sauvegardez-le. Et voir cette page est plus belle que toute autre application qui se trouve ici, cette application de base je dirai, parce que nous avons nos catégories, lorsque nous cliquons dessus, nous avons les produits. Vous voyez, nous avons ces produits. Si nous cliquons sur un produit, le produit Dale est présent et cette erreur est simplement due au fait que la page n'était pas défilante. Pour résoudre ce problème, nous pouvons simplement accéder à l'écran Détails du produit. Et ici, dans le contenant, je vais simplement l'emballer avec eux. Vue de défilement enfant unique. C'est ça. Tu vois, l'erreur a disparu. Ce sont les éléments de base que vous devez garder à l'esprit lors de la création d'une application que nous pouvons oublier. Et il y aura peu d'argent dedans, mais cela peut être résolu très facilement. Avec cela, cette partie des requêtes GET est finalement terminée. Nous avons beaucoup appris. Lors de la prochaine session. Nous allons parler de la façon de gérer la demande de publication. Alors continue juste à t'entraîner. 6. Traitement des demandes de POST: Bonjour, bienvenue à cette nouvelle session. Jusqu'à présent, nous ne faisions que discuter de cette requête GET. Mais il est temps que nous étudiions également les autres demandes. Parce que, de toute évidence, nous avons maintenant les données. Mais nous allons également augmenter les données pendant une grande partie du temps. C'est-à-dire que nous enverrons également des données jusqu'à présent nous devrons utiliser la demande de publication. Alors maintenant, comment gérer la demande de publication ? Nous savons déjà que l'envoi de données à un serveur est réduit. Nous l'utilisons dans des scénarios tels que le téléchargement d'un fichier ou envoi de données de formulaire. Dans une demande de publication. Des paramètres supplémentaires tels que les en-têtes et les corps sont également envoyés avec la demande contenant nos données. Maintenant, dans notre API, nous avons cet utilisateur de connexion, c' est-à-dire le login utilisateur et le point également, qui est une requête post. Et nous devons envoyer un nom d'utilisateur et un mot de passe. Et comme il s'agit d'une API factice, nous ne devons envoyer que ce nom d'utilisateur et ce mot de passe. Ensuite, il réussira et enverra un jeton malade. Ce qui signifie simplement, oui, que les informations d'identification de l'utilisateur sont réelles, sont valides. Passons maintenant aux enquêtes APA, et nous allons créer ici une demande de publication. Il s'agira simplement de la future connexion de l'utilisateur. Ensuite, il acceptera un nom d'utilisateur et un mot de passe chaîne. C'est donc une façon d'écrire très professionnelle que vous utiliserez également dans des applications réelles. Si je le voulais, j' aurais pu écrire ou coder directement le mot de passe du nom d'utilisateur ici. Mais je veux qu'il soit beaucoup plus dynamique. Nous aurons une URL de connexion, des barres d'URI. Et cela sera certainement présent dans le point de terminaison de l'URL. Et après cela, nous aurons l'art et ensuite nous connecterons. Ok ? Il est maintenant temps de passer à la nouveauté, à savoir la réponse. La réponse sera x au message p point pour la première fois, et il aura notre URL de connexion. Maintenant. Nous devons envoyer un nom d'utilisateur et un mot de passe à cette partie. Je vais donc simplement dire ici, nom d'utilisateur, nom d'utilisateur, puis mot de passe, mot de passe. C'est ainsi que nous l' envoyons. C'est ça. Ce n'était pas très grave, je suppose, parce que c'est aussi une demande dans laquelle nous ne faisons tout simplement rien. Nous avons notre réponse et nous accepterons une URL, n'importe quel corps. Maintenant, ici, j' écrirais simplement la robe, les liens, les points, le code d'état, et tout devrait être là. Désolée, j'ai oublié d'utiliser wait. C'était une erreur très stupide. N'oubliez donc pas que lorsque nous faisons ce genre de demande, attendre est très important. Nous allons maintenant utiliser le point de terminaison de connexion utilisateur de l'APA. Il renverra un jeton s' il est exécuté avec succès. Maintenant que nous avons la fonction, il est temps de créer l'écran, qui est l'écran de connexion. C'est tellement bon que notre candidature est plus professionnelle et de plus en plus complète. Maintenant, créons un écran de connexion. Ensuite, scannez le téléphone, la barre d'applications. Alors appelons-le boutique en Floride. Tu peux nommer ce que tu veux. J'utilise juste un nom aléatoire. Et puis la couleur de fond sera colorée à partir de X. Et maintenant dans le corps, je vais avoir un conteneur. Il aura quelques marges de Duan De, débarrassé du point de requête multimédia des contextes de taille de point, de largeur de point et de hauteur comme lorsque la hauteur totale doit être prise. Ok ? Maintenant, dans cet enfant, nous allons avoir une colonne dans cette matrice insuline hommes comme centré et croix x est un élément ainsi que l'envoyer parce que je veux que ces champs soient au centre de l'écran. Nous aurons donc deux champs de texte, nom d'utilisateur, mot de passe. Mais tout d'abord, je peux faire la page d'accueil. Ce sera la page d'accueil de notre application. Maintenant, si je rafraîchis, nous pouvons voir que c'est le test de la fleur nette. Et maintenant, l'écran de connexion. Nous aurons, je suis aussi au contrôleur d'édition de texte. Quand nommerions-nous contrôleur avec édition de texte et pour apprendre. Et le deuxième contrôleur, quand on parle de contrôleur. Maintenant, comme je l'ai dit plus tôt, nous devons utiliser le nom d'utilisateur et le mot de passe qui sont donnés ici. Je vais donc simplement le copier. Et ici, dans ce texte, je vais le coller. Et encore une fois, je vais copier ce mot de passe ici. Et là, je suis également allé coller le mot de passe, car il devrait être prédéfini. Maintenant, dans les enfants, passons aux champs de texte. Nous savons déjà comment utiliser ce TextField, comment le décorer. Ce n'est pas une nouveauté. Nous l'avons fait lors des sessions précédentes. Dispose d'une décoration d'entrée, étiquetée, d'un usage et d'un nom. Ensuite, j' aurai aussi une bordure. Après cela, j'aurai une boîte de taille. Je tape D. Et là encore, j' aurai ce champ de texte, qui sera un mot de passe. Maintenant, après le champ de texte, nous aurons un bouton simplement dans le conteneur. Je vais lui donner une hauteur de 50. Et débarrassez-vous de la hauteur du point de la requête multimédia, c'est-à-dire toute la largeur de l'écran. Discorde en place cet enfant, j'aurai un bouton surélevé. Et dans cet enfant, je vais simplement écrire login. Et je vais lui donner un peu de style. L'un dit 25, poids de police avec la balle. OK. Vous voyez, nous avons notre écran de connexion et il est plutôt beau. Si vous le souhaitez, vous pouvez avoir une image de logo ici, c'est à vous de décider. Donc simplement dans le bouton surélevé, je vais écrire, je vais appeler cela notre fonction de connexion ici. Attendre la connexion de l'utilisateur au service API Le nom d'utilisateur Je vais écrire le texte du point du contrôleur de nom, et le mot de passe Je vais écrire texte du point du contrôleur de mot Disons « nulla ». Vérifions-nous s'il fonctionne correctement ou non. Si je clique sur le bouton Connexion, voyons que la console est 200 et que nous avons notre jeton avec nous. Puisque notre jeton fonctionne, ce que nous voulons, c'est que si l' utilisateur se connecte avec succès, il devrait être envoyé sur l'écran d'accueil, comme n'importe quelle autre application du monde réel. Donc ce jeton, nous allons l'enregistrer ici dans cette variable. Ensuite, nous vérifierons si jeton, c'est-à-dire obtenir un jeton. Et la valeur du jeton n' est pas égale à Null. Parce que s'il est appelé « aucun », c'est-à-dire que nous envoyons des données. Donc nous allons simplement écrire, si ce n'est pas égal à null, est-à-dire que c'est correct. Vous utiliserez un snack-bar pour afficher un feedback à l'utilisateur qu'il a saisi. Informations d'identification correctes. Il suffit d'écrire le texte. Succès. Et Yard Token ID est. Et je vais simplement imprimer, imprimer le jeton à l' utilisateur comme ceci. Et je vais vous donner quelques informations générales qui ont conduit à cela. Remarquez le vert, c'est-à-dire pour tamponner la collation, mais je donne cette couleur de fond. Après cela, ce que je veux, c'est le snack-bar soit affiché pendant deux secondes, puis nous naviguerons pour cela. Pendant cette durée de deux secondes, je dois utiliser ce futur, la fonction delete pour qu'elle lise do second, puis nous navigue. Naviguez ensuite vers l'écran d'accueil. en page Darian. Puis l'écran d'accueil. Et la page d'accueil. Comme ça. Nous allons sur la page d'accueil. Et si ce jeton n'est pas là, c'est-à-dire qu'il y a une erreur. Ensuite, nous montrerons le snack-bar. Mais ici, tout d'abord, vous allez écrire un nom d'utilisateur ou un mot de passe incorrect. Nom d'utilisateur, mot de passe correct. Et la couleur doit être rouge. Dans ce cas. Vérifions-le s'il fonctionne correctement ou non. Premier fichier, je vais écrire un mauvais nom d'utilisateur aujourd'hui, je vais le supprimer pour puis cliquer sur Connexion. Voir nom d'utilisateur ou mot de passe incorrect. Dans notre console de débogage également, nous avons un message comme celui-ci. Mais que se passera-t-il si je fais les choses correctement ? Puis cliquez sur Login. Nous avons ce message de réussite 2. Ensuite, nous sommes renvoyés à l'écran d'accueil. Waouh, ça a l'air sacrément beau. Et nous avons enfin compris comment utiliser cette demande de publication également. Puisque nous envoyions des données dans le corps de la requête, il s'agissait d'une requête post. Vous devez donc vous rappeler quand utiliser les requêtes GET, quand utiliser post request. Mais au moins, nous avons cette application qui fonctionne. Quand on se rafraîchit. Évidemment, cela viendra sur l'écran d'accueil, mais maintenant vous avez une application de base pour montrer à vos amis que vous avez construit quelque chose à partir de zéro. Maintenant, vous n'êtes pas un débutant, vous êtes un intermédiaire en programmation en Floride. J'espère que vous avez apprécié jusqu'à présent. Au cours de la prochaine session, nous parlerons des deux dernières demandes, à savoir la requête PUT et la demande de suppression. Nous allons donc certainement aimer travailler sur ces fonctionnalités également. Ensuite, essayez simplement de comprendre le code en profondeur. Si vous avez encore des doutes, s'il vous plaît. Vous pouvez également le rechercher sur Google. Nous le demandons sous forme libre et tout. Mais c'est un concept très important. Et pendant que vous facturez des API avec NodeJS MongoDB, vous devez utiliser ces HttpRequest de nombreuses fois. Merci. 7. Demande de PUT et de SUPPRESSION: Bonjour, bon retour. Dans les vidéos précédentes, nous avons appris à utiliser les requêtes GET et Post. Dans cette vidéo, nous allons en savoir plus sur la requête PUT. Request est essentiellement utilisé pour obtenir les données et le serveur. Donc, dans cette fausse API de boutique, nous mettrons à jour notre carte lorsque nous cliquerons sur le bouton Ajouter au panier. C'est-à-dire que lorsque nous cliquons sur ce bouton, du code devrait s'exécuter. Mais n'oubliez pas qu'il s'agit d'une fausse API, donc rien ne sera mis à jour pour vous. Nous pouvons simplement voir la réponse qui console pour se conformer. Il suffit d'aller dans l'API du freak store, puis de vous renseigner sur les chiens. Vous trouverez ici toutes les API qu'il prend en charge. Je vais venir et cliquer dessus , mettre à jour la carte. Et maintenant, vous pouvez voir la méthode est mise et nous devons envoyer des salutations, l'ID utilisateur, la date et les produits. Et le produit est de savoir s' il s'agit d'une collection, c' est-à-dire d'une liste de cartes contenant l'identifiant du produit. C'est ça. Donc oui, tu peux utiliser ou patcher ce que tu veux. Je vais utiliser pour que cela s'exécute. Nous allons simplement accéder au fichier point point de nos services API. Et ici, je vais créer une requête PUT. Ensuite, créons une carte de rendez-vous pour le déjeuner. Ce sera une fonction sinc. Et maintenant, il accepte un identifiant utilisateur et un identifiant de produit. Ok ? Après cela, nous aurons cette URL. Comme toujours. Je vais le nommer simplement mettre à jour l'URL. Et l'URL sera constituée de barres obliques et d'un identifiant d'utilisateur. Donc, comme ça et ID utilisateur. Ok, je vais juste faire ce d petit d. Après cela, je dois créer les fonctions qui sont une réponse et ensuite attendre. Et maintenant, nous allons utiliser STDP dot put. L'URL sera l'URL de mise à jour. Ensuite, le corps sera une carte. Et maintenant, nous devons envoyer les clés, ces ID utilisateur. Ce sera une chaîne. N'oubliez pas que chaque clé aura une valeur de chaîne. Ce que je veux dire par là, c'est que je vais juste te montrer la date. Nous allons simplement écrire date, heure, point, datetime, point, point sur chaîne. Nous devons donc convertir ces éléments en chaîne de caractères. Et puis les produits. Et ce sera une liste, d'accord ? Liste des cartes. Et ici, je vais simplement écrire ici l'identifiant du produit, l'identifiant du produit et la quantité d t. Je vais juste coder en dur comme un seul. Ensuite, créez cette chaîne de liste afin de fonctionner. Maintenant, comme toujours, il suffit d'imprimer le code d'état de réponse. Et puis imprimez oui lie le corps. Et après cela, je retournerai JSON decode response.body, mais nous ne ferons rien. Je crée simplement la fonction pour que vous compreniez comment le faire lorsque vous avez une API en temps réel. Nous avons maintenant la fonction activée. Passons au détail du produit. Ici. Dans le bouton d'action flottant. Ici, je vais simplement en faire un évier avec un poids. Je vais devenir un truc. Service APA, carte de mise à jour point, puis ID utilisateur. Je saurai que j'en enverrai un puisqu'il est codé en dur. Ensuite, cet identifiant de produit est cet identifiant. J'envoie également cette pièce d'identité. Après ça, on peut juste faire peur, tomber, tomber, le messager des contextes, le point show, le snack-bar. Et puis un snack-bar. Vous pouvez simplement écrire le produit ajouté au panier. ne sont donc que de faux commentaires. Mais le code de la requête HTTP est réel. Sortons-le. Maintenant, lorsque vous accédez à l'écran de cette veste, lorsque je clique sur ce bouton Ajouter au panier, voir le produit ajouté au panier. Dans la sortie, vous pouvez voir l'ID, l'ID utilisateur, date et un produit qui est ID, identifiant du produit est trois. Nous en envoyons trois. C'est pourquoi cela signifie au final que notre requête PUT fonctionne parfaitement. Imaginez simplement qu'il s'agisse de données réelles et que nous ne faisons que mettre à jour ces données sur le serveur. Données. La dernière demande dont nous allons discuter est la demande de suppression. La requête de suppression est donc utilisée pour supprimer ces données sur le serveur. Nous allons donc supprimer notre carte. Nous ferons semblant de supprimer notre panier lorsque nous cliquerons sur le bouton Supprimer dans l'écran du panier, c' est-à-dire ce bouton. Ce bouton. Lorsque nous cliquons dessus, nous devrions simplement obtenir les commentaires. Et comme toujours, il s'agit d'une fausse API. Nous allons juste voir la réponse dans la console. Créez donc une demande comme demande retardée plutôt qu' une simple fonction de carte retardée. Ensuite, saisissez l'ID utilisateur. Nous allons donc simplement obtenir le nom d' utilisateur et supprimer sa carte. J'essaie juste de te faire comprendre. Je sais que cela n'a aucun sens de simplement travailler avec de fausses API. Mais croyez-moi, cela vous aidera beaucoup. Maintenant. Nous avons juste besoin de cette même URL. La seule différence sera que les requêtes HTTP ici, nous allons simplement écrire la réponse est égale à attendre http point retardé, URL de carte retardée. C'est donc ce que nous devons faire. Et après cela, nous écrivons simplement une réponse, un code d'état. Affiche la réponse dans le corps et renvoie le code json point d response.body. Maintenant, dans l'API de commande fixe, vous pouvez voir qu'il s'agit d'une page de panier retardé. Et ici l'URL est comme ce panier et l'identifiant utilisateur, et nous n'avons qu'à leur envoyer mon tiers de retard. Et puis dans la sortie, nous obtiendrons les produits de date d'identification utilisateur. C'est ça. Essayons-le. Passons à la page de l'écran de la carte. Et puis, dans cette traînée, nous avons ceci sur les éloges. Et ici, nous allons simplement écrire un service d'API de poids Dot, Delete Cut. Ensuite, nous vous enverrons simplement l'identifiant d'un utilisateur. Comme il s'agissait d' une véritable application, vous pouvez obtenir leur ID utilisateur auprès de Firebase ou de n'importe où vous le souhaitez. Et après cela, nous aurons juste un messager d'échafaudage et montrerons simplement un snack-bar. Il suffit de montrer un snack-bar. du contenu en tant qu'élément Suppression réussie du contenu en tant qu'élément. C'est ça. Essayons-le. Cela fonctionne-t-il ou non ? Allez maintenant à l'écran de la carte. Et maintenant, je vais vider la console. Et maintenant, lorsque je clique sur ce bouton de suppression, vois l'élément supprimé avec succès. Et nous avons cet identifiant d' article, ce nom d'utilisateur , cette date et ces autres produits, voir 61. Nous ajoutons donc en tête la bonne carte. Je voulais juste implémenter une fonction de suppression et vous faire comprendre comment elle fonctionne. Je sais que tout le panier est en train d'être supprimé, mais nous devrions supprimer un produit dans ce cas. J'espère que tu as compris. Vous devez mettre à jour cette carte. d'autres termes, si je le supprime dans le serveur, il suffit de supprimer ce produit de cet élément de liste. C'est à toi de décider. Mais au moins, vous devez connaître le concept et comment l'écrire correctement. Tellement haut, j'espère que vous avez apprécié cette vidéo. Nous avons parlé de toutes ces demandes, qu' il s'agisse de GET, de post, de PUT, de delete. Dans la vidéo suivante, nous parlerons enfin de la requête authentifiée. Ce sera la dernière vidéo de notre module HTTP. Et Q. 8. Faire des demandes authentifiées: Bonjour, bon retour. Au cours de cette session, nous verrons comment effectuer des demandes authentifiées. Jusqu'à présent, nous utilisions une API à laquelle nous pouvions accéder directement et ne nécessitait aucune clé d'authentification. Mais ce n'est pas le cas la plupart du temps lorsque nous créons des applications. Pour récupérer des données à partir de nombreux services Web, vous devez fournir une clé d'autorisation ou d'authentification. Il existe de nombreuses façons de procéder, dont nous allons discuter maintenant. Maintenant, la première méthode est cette méthode artistique de base, l'authentification de base signifie que l'application cliente envoie le nom d'utilisateur et le mot de passe au serveur dans les requêtes HTTP. Donc, lorsque nous avons un nom d'utilisateur et un mot de passe, nous utiliserons un art de base. Et le disque peut également être fait de deux manières. Soit nous devons envoyer ces détails dans le paramètre body, soit l'autre méthode consiste à encoder ces informations d'identification avec UTF-8, puis à les transmettre dans le paramètre headers. La première chose à faire est que lorsque nous envoyons ces détails dans le paramètre body, il suffit de sortir votre fichier de services API. Et créons une fonction appelée authentification de l'utilisateur. Et maintenant, nous avons un nom d'utilisateur et un mot de passe chaîne. Nous n'avons actuellement aucune URL. Je suis en train de vous montrer le code du cours de canard qui explique comment procéder. Parce que vous avez certainement une API telle qu' un autre serveur AWS ou un serveur NodeJS ou autre. J'utilise juste un truc factice. C'est un point api quelque part, I0, peu importe. Cela n'a aucun sens. Le fait est que l'important est ici, c'est la réponse. Maintenant, quand nous écrivons, la réponse est égale à wait http point. Lorsque nous envoyons ces données dans le corps, nous ne pouvons pas avoir de demande GET. Nous devons toujours utiliser la demande de publication. Ensuite, nous pouvons envoyer le paramètre party. Maintenant dans le corps, je vais simplement utiliser ce nom d'utilisateur, ce nom d' utilisateur et ce mot de passe, comme ce mot de passe. Ensuite, comme toujours, vous pouvez imprimer la réponse. Je répète simplement que nous n'utilisons aucune API. Je veux juste vous montrer le code comment authentifier STDP également, car tout sera comme nous l'avons fait auparavant. seule différence est que nous utilisons ce paramètre party. Imaginez donc qu'il s'agit de votre serveur NodeJS et nous envoyons le mot de passe du nom d'utilisateur pour l'authentification. C'est l'un des arts de base. La seconde consiste à envoyer les détails à l'aide l' en-tête d'autorisation que nous pouvons faire. Tout simplement comme ça. Ok, je voudrais juste créer une autre fonction pour que vous vous souvenez de l'utilisateur ou du troisième IgG et que je vais simplement écrire la session. Maintenant, je vais enlever ce truc de corps. Et comme nous n'utilisons pas body, nous pouvons également envoyer une requête GET parce que c'est le cas, nous envoyons ce détail via des en-têtes. Nous avons maintenant le premier encodage, ces détails comme cet art de base. Ensuite, la première chose sera ce mot-clé de base. Après cela, nous aurons un encodage en base 64. Et à l'intérieur, je vais juste écrire UDF à huit code UDF à huit points. Et ici, vous allez écrire votre nom d'utilisateur et votre mot de passe. Simplement. Nom d'utilisateur et mot de passe Ce code, vous devez vous rappeler que ce préfixe de base est le préfixe que nous allons utiliser. Il existe un autre préfixe que nous utiliserons dans quelques secondes. Mais c'est ainsi que nous avons la clé d'autorisation qui code. Ensuite, dans cette requête GET, il suffit d'écrire des en-têtes. Utilisez ensuite la carte. La première clé que vous utilisez est le type de contenu. Ce sera l'application Jason. Le second est l'autorisation. C'est de cela que nous parlons. Et il aura ces informations d'identification de base. C'est ça. C'est comme ça que ça se passe. C'est donc la façon d' envoyer le nom d'utilisateur et mot de passe et pas seulement le nom d'utilisateur et le mot de passe Certains sites Web ou APS vous ont peut-être demandé d'envoyer le code API ici. est-à-dire qu'il n'est pas toujours nécessaire d'utiliser ce type de nom d'utilisateur et de mot de passe. Cela dépend également de l' API avec laquelle vous travaillez. Maintenant. premier était l'art de base. Le deuxième, c'est la bière. L'authentification de la bière signifie simplement que nous devons nous authentifier en utilisant un jeton au lieu d'un nom d'utilisateur et d'un mot de passe. Maintenant, si vous avez un jeton, cette API spécifie que vous devez utiliser ce préfixe beer. C'est comme ça que ça se passe. Rien de trop. Sur Lee. Dans l'autorisation. Vous avez cette bière pour le mot clé et cette valeur symbolique. C'est ça. C'est l'accès pour conserver la pose. Et imaginez simplement que nous avons ce jeton d'accès. Une certaine valeur à transmettre. Vous pouvez dire une certaine valeur symbolique, c'est tout. C'est ainsi que vous utilisez ce meilleur art. Je ne fais que le répéter. Si vous avez une API qui possède sa propre clé d'API, remplacez la clé d'autorisation par cette clé spécifique. Parfois, certaines API indiquent que dans l'en-tête, la clé doit être comme ceci, puis la valeur du jeton. Vous devez donc lire la documentation de cette API très attentivement afin de ne pas commettre d'erreur. Mais n'oubliez pas le code ici. Cela se fait la plupart du temps lorsque nous effectuons n'importe quel type d'authentification. Je sais que vous vous posez peut-être la question, mais il n'y avait pas de véritable API. Je ne fais que vous montrer quelques exemples. Un, vous pouvez aller essayer cette news api dot ORG. Il vous donnera toutes les dernières nouvelles et toutes. Vous pouvez obtenir la clé API ici et lire la documentation sur l' utilisation de cette API pour vous authentifier. La deuxième clé API que vous pouvez obtenir est cette OMB DAPI. Il vous suffit de cliquer sur cette clé API, d'écrire votre e-mail ici et de le soumettre. De cette façon, vous obtiendrez votre clé API et vous pourrez simplement commencer à accéder à toute la base de données de films à partir d'ici. Les autres API ou si une paire ici vous pouvez également obtenir l'EPI pour vous-même. Et puis ce sont les API qui fournissent une API météo actuelle de Cali PA. Vois comme ça. Il suffit donc de lire la documentation correctement et de l'essayer par vous-même. En cette pandémie, si vous le souhaitez, vous pouvez également obtenir cette API de suivi COVID où vous obtiendrez toutes les données liées à la COVID-19 dans le monde entier. Avec cela également, vous pouvez créer votre propre application. J'espère donc que vous avez apprécié cette session. Si vous le souhaitez, vous pouvez simplement appuyer ici et essayer vous-même. Essayez de faire autant d'erreurs que possible devenir un meilleur développeur. Merci. 9. Pourquoi nous avons besoin de modèles: Bonjour, bon retour. Dans ce module, nous parlerons nos modèles et des raisons pour lesquelles nous en avons exactement besoin. Model est simplement la classe utilisée pour représenter certaines données. Toute application fonctionnera avec différents types de données, évidemment, l'aide de modèles, il est plus facile appeler les données et de les transmettre dans l'application. Donc, si vous vous souvenez des exemples précédents, nous avions l'habitude de transmettre des données d'un écran à un autre directement. Il s'agit de la carte elle-même ou la jambe de valeur de carte que nous lui transmettions. Mais dans une application réelle, les données provenant du serveur auront une structure complexe. Et nous ne serions pas en mesure de souvenir de cette clé de toutes les données. C'est pourquoi nous utilisons des modèles. En écoutant cet exemple, vous pouvez voir comment nous créons nos modèles. Supposons que nous ayons les données d'un utilisateur. Nous créons donc un utilisateur de classe et Dan dove, les valeurs qu'il existe, est-à-dire toutes les données qui se trouvent à l'intérieur de l'habituel. Vous devez être écrit comme ceci sous la forme de variables d' instance, comme final int, id, final string name. Ensuite, un constructeur doit être présent afin que nous puissions passer la valeur et elle lui sera affectée. Et cette fonction d'usine n'est rien d'autre qu'un moyen de transformer ces données, des données cartographiques provenant de l'extérieur. Puis renvoyez un objet de cette classe. En termes simples, à partir de Firebase ou de l'API, nous obtenons des données cartographiées qui peuvent mapper des données. Nous l'enverrons ici, c' est l'utilisateur de Jason. Ensuite, il retournera un objet. C'est ça. Ce sont donc les termes que nous utilisons généralement lorsque nous travaillons avec des modèles. C'est la sérialisation et la désérialisation. La sérialisation consiste à convertir en objet intelligent Jason. Et la désérialisation consiste à convertir un objet de données JSON. décélération est ce que nous ferons la plupart du temps. C'est-à-dire que les données provenant de ce format JSON ou de la carte seront converties en un objet sombre. Je sais que c'est possible, vous vous sentez peut-être dépassé par ce concept, mais c'est très facile à faire une fois que vous l'avez compris. Nous devons donc créer une classe pour gérer la décélération. C'est ce qu'on appelle la classe modale. Vous pensez peut-être, d'accord, mais sans modèles également, nous avons pu accomplir notre tâche. C'est-à-dire que cette application fonctionnait parfaitement. Alors pourquoi avons-nous besoin de modèles exactement pour notre application ? Regardez donc cet exemple. Nous avons ici ces données dans le nom du format de la carte, l'ID utilisateur, l'e-mail. Les représentations ci-dessus représentent des données utilisateur très basiques. Nous pouvons voir que la chaîne JSON utilise cette bibliothèque de conversion de fléchettes comme nous le faisions précédemment. Ensuite, cela en fait une valeur de chaîne et renvoie la valeur de la carte. La valeur est ensuite accessible de la manière suivante. C'est-à-dire qu'une fois que nous avons décodé la chaîne JSON, après cela, nous pouvons simplement imprimer hi, puis utilisateur et nom d'utilisateur, c' est-à-dire que le nom est la clé de ceci. carte plutôt que l'e-mail est une autre clé et des identifiants utilisateur et une autre clé. C'est ce que nous faisions tout à l'heure. Voyons maintenant quel est le problème de cette approche. Malheureusement, le décodage JSON renvoie une carte, ce qui signifie que vous ne connaissez pas ce type de valeurs de données avant l'exécution. Donc ici, email ou cet identifiant utilisateur est un entier que nous ne connaissons pas tant que nous ne l'avons pas imprimé ici. Et s'il montre une erreur ou quoi que ce soit d'autre. Avec cette approche, vous perdez la plupart des fonctionnalités de langage typées statiquement. Il s'agit de la sécurité de type, de l'auto-complétion et, surtout, des exceptions lors de la compilation. Donc, Runtime, OK, on a compris. Mais le temps de compilation pendant que nous écrivons le code. Ensuite, il ne s'affichera pas non plus et ne nous donnera aucune erreur. Mais lorsque nous utilisons des modèles, nous indiqueront qu' il s'agit d'un entier. N'utilisez pas de chaîne ou quelle que soit l'exception, is. Ce n'est pas une bonne pratique. Par exemple, chaque fois que vous accédez aux champs du nom ou de l'e-mail, vous pouvez également introduire rapidement une faute de frappe. Puisque supposons que son nom déteste le courrier électronique. Ça peut être E, Dash Mail ou autre. Ici c'est l'identifiant de l'utilisateur, c'est capital. On pourrait l'écrire en petit format. Ce genre d'erreurs est très fréquent lors de la programmation. Pour lutter contre ces problèmes, des modèles entrent en jeu et nous définissons strictement le type de valeurs comme ceci. avons strictement défini ici. C'est un entier, c'est une chaîne. C'est ainsi que nous sommes plus sûrs lors de la création d'une application. Et cela finit par rendre le code moins sujet aux erreurs, car la plupart des zones sont traitées pendant le temps de compilation. J'espère que vous avez compris pourquoi nous avons besoin de modèles et que vous n'avez peut-être pas compris comment les créer, mais ce n'est pas un problème. Lors de la prochaine session, nous créerons notre premier modèle. Merci. 10. Créer notre premier cours de modèle: Salut. Au cours de cette session, nous allons créer notre première classe modèle. Alors avant cela, sortez votre code VS. Et j'ai imité. Si j'appuie sur n'importe quel produit que dans la console de débogage, vous pouvez voir toutes les propriétés sont des données qu'il possède. Et pour cela, nous devons créer notre classe de modèle dans le dossier feuille. Nous allons créer un nouveau dossier appelé modèles. Et à l'intérieur, créons un fichier point de produit. Pour créer un modèle de verre. Tout d'abord, créez une classe appelée product. Et maintenant, entrez Alda, toutes ces données en tant que variables d' instance. C'est-à-dire que je vais dire encre finale, ID, puis chaîne finale, titre, puis montée. C'est un peu compliqué ici, donc c'est double. Et je n' utilise aucun type de données. Après cela, nous pouvons avoir la description finale de la chaîne, puis l'écran final, la chaîne, désolé, la catégorie, puis l'image de la chaîne finale. Donc oui, ce sont les données d'un produit. Ensuite, créez un constructeur. Pour la même chose. Maintenant, je dois écrire obligatoire. Ensuite, ce point est obligatoire Titre du point de départ obligatoire. Ces rayons, cette description, ce point, ce degré, cette image. Nous avons maintenant notre classe de modèle de produit. Il contient toutes les données. Nous devons maintenant créer une fonction qui acceptera Jason en entrée, puis qui retournera cet objet produit. Pour le créer, il suffit d'écrire le produit de Jason. Ensuite, il acceptera une chaîne de valeurs dynamiques appelée Jason. Je vais simplement écrire JSON. Ensuite, il vous suffira de retourner un produit. Maintenant, dans le produit, nous aurons bientôt l'identifiant du produit puis ils indiqueront de Jason BJ description de Jason BJ, n'est-ce pas cette corruption ? Alors décroche un diplôme, un diplôme Jason. Et puis, finalement, nous avons une image. Alors voyez, ce sont toutes les clés qui sont déjà mentionnées dans cette image de description de catégorie de prix. Maintenant, lorsque nous appellerons cette fonction, nous enverrons ces données ici et cela nous donnera un objet produit. C'est ça. Nous avons créé avec succès notre premier modèle. Maintenant. Pour l'utiliser. Nous devons accéder à notre fichier point des services API. Et il est temps apporter les modifications nécessaires à la fonction. Sachez qu'il y a beaucoup de fonctions et nous allons commencer par cela, obtenez toutes les fonctions post ici. Tout d'abord, je vais simplement lui donner un type de retour. De la liste des produits. C'est ça. C'est donc le type de retour. Maintenant, simplement, je vais créer une liste vide au début des produits, nommer tous les produits, et elle sera vide. Maintenant, je vais demander ce Jason Dodd de décoder le corps dans une variable ici. Et je vais passer en revue ce truc de Jason qui est tous les produits. Je vais passer en boucle et obtenir un produit en particulier ici. Et simplement, dans tous les produits, j'ajouterai le produit de Jason et j'enverrai ici le JSON. C'est ça. Et à la fin, je vais retourner tous les produits, c' est-à-dire la liste des produits. Donc, ce que j'ai fait ici, c'est tout d'abord que j'ai créé un tableau vide, que nous passerons à la fin. Et il contiendra l'objet produit est la liste de l'objet produit. Maintenant, ces Jason response.body seront au format JSON, dans la liste du format JSON. Nous allons donc simplement le parcourir en boucle et ajouter tout le produit après l'avoir converti via ce bouton. C'est le produit qui provient de JSON dans cette liste de produits et qui a renvoyé tous les produits. Après cela, nous devons apporter les modifications à l'écran d'accueil où il est affiché. est ici que nous obtenons les produits. Donc cet instantané asynchrone va maintenant nous donner un objet, pas un objet, il s' agira d'une liste de produits. Tout d'abord, je vais simplement créer une variable qui contiendra les données d'index. Il s'agit d'un seul produit ici. Comme il est en train de parcourir tous les instantanés, cela nous donnera un produit unique ici. Et après, nous devons simplement écrire le titre du point du produit comme ceci. C'est donc tellement simple. Produit, image, produit, le prix point toString. Et puis à la fin, je vais simplement écrire le produit, identifiant du produit. Comme ça. Voyons si cela fonctionne ou non. J'ai redémarré l' application, mais avant cela, vous pouvez simplement voir à quel point il est facile de générer la valeur. Nous n'avons pas besoin d'écrire la clé encore et encore, nous pouvons simplement utiliser directement cet opérateur point et nous obtiendrons les données. Il se compose. Maintenant, lorsque je clique sur ce bouton de connexion, vous trouverez toutes les données qui étaient déjà présentes auparavant, mais maintenant nous utilisons des modèles ici. Il s'agit donc d'une explication minimale des modèles et des raisons pour lesquelles nous les utilisons. Et croyez-moi, lorsque vous avez beaucoup de données, les modèles vous seront très utiles. Dans la vidéo suivante, nous utiliserons des modèles pour les détails du produit et d'autres pages également. Merci. 11. Changements requis dans le frontend: Salut. Dans la dernière vidéo, nous apportons ces modifications à l'écran d'accueil afin que nous puissions obtenir ces données de l'API et modifier celles adjacentes à notre classe de modèle, c' est-à-dire moins les modèles de produits. Au cours de cette session, nous allons également apporter les modifications nécessaires à la fonction de produit unique. Pour renvoyer le modèle. Sortez votre éditeur VSCode et accédez aux enquêtes APA point point neuf. Cela obtient une fonction de produit unique. Nous allons simplement, nous ne retournerons pas de JSON. Au lieu de cela, je conserverai ces données dans chaque magasin, ces données dans une variable appelée pot. Ensuite, je vais simplement transformer point produit de Jason et y passer le corps. Il retournera donc un seul objet produit. Et c'est ce dont nous avons besoin. Ok ? Maintenant, si nous avons effectué le changement de produit unique, nous devons également aller à l'écran Détails du produit. Effectuez les modifications nécessaires pour utiliser un modèle. Au lieu de ce truc avec Jason. Nous avons notre futur constructeur ici. Nous obtenons le modèle qui est le modèle du produit. Dans cet instantané. Ici, je vais simplement écrire ce type de données est product, puis les stocker dans Snapshot dot data. Ok ? Maintenant, nous avons ce produit ici et je vais simplement tout supprimer ici. Et j'ai parlé de l'image point, puis du prix du produit plutôt que de la catégorie de produit point. Et enfin, la description du point du produit. Vous pouvez donc constater par vous-même que c'est tellement pratique et facile lorsque nous utilisons des modèles. Parce que certainement en écrivant la carte, c'est Jason, nous pouvons faire une erreur dans cette clé que ces fautes d' orthographe ou quoi que ce soit d'autre. Il est donc préférable d'utiliser des modèles. Mettons-le à l'essai. Cela fonctionne-t-il correctement ou non ? Lorsque je clique sur Connexion, nous allons à l'écran d'accueil. Et si je clique sur ce produit C, il n'y a pas d'erreur. J'ai fait ces changements, mais cela fonctionne parfaitement. Vous pensez peut-être que notre travail est terminé. Mais si je clique sur ce bouton de carte, vous verrez cette erreur car nous avons également oublié l'écran de la fiche. Nous devons faire cela car il utilise également cette fonction. Cela permet d'obtenir un seul produit ici. De même, nous devons faire la même chose ici. J'utiliserai ce type de données de produit. Ensuite, synchronisez les données de point d'instantané. Ok ? Et puis écrivez simplement ici, point produit, image point produit. Alors voici cette quantité, c'est bon parce que nous obtenons cette quantité d'ici. Nous n'avons donc pas à changer cela. Mais bon, j'ai un noeud de vérification, il n'y a rien d'autre à changer. Revoyons notre application. Si ça marche bien ou pas. Je clique sur le login. Ok. Nous sommes sur l'écran d'accueil. Maintenant, quand je clique sur la carte, vois qu'il n'y a pas d'erreur. Parce que là encore, nous utilisons des modèles plutôt que des données cartographiques ou brutes de Jason. C'est ça. C'est ainsi que nous devons utiliser et mettre en œuvre des modèles. Dans la vidéo suivante, nous parlerons d' autres outils qui nous aideront à réaliser des modèles facilement. Merci. 12. Outil pour générer des modèles facilement: Salut. Donc, jusqu'à présent, v, nous créons nos modèles nous-mêmes. Donc ici, supposons que dans ce produit, c'était facile car il n'y avait que quatre variables ou données. C'est pourquoi nous avons fait tout cela seuls. Mais la plupart du temps, lorsque nous utilisons des API, certaines données sont très complexes. Dans ce scénario, nous pouvons avoir besoin d'outils qui nous aideront à créer facilement nos modèles. Sur le marché, il existe peu d'outils disponibles uniquement pour faciliter cette tâche. Il existe deux approches. L'une consiste à utiliser un outil en ligne et l'autre à utiliser des dépendances. Vous pouvez donc voir ici que nous avons une dépendance appelée sérialisable JSON. Vous pouvez l'utiliser si vous le souhaitez. Beaucoup de personnes l'utilisent. Je vais juste vous montrer Jason sérialisable. D'accord, et ensuite j' écouterai ce que je prépare. Tu vois, c'est le package dont je parle. C'est ce qu'on appelle Jason sérialisable. Si vous le souhaitez, vous pouvez certainement l'utiliser, vous trouverez de nombreuses ressources sur la façon de l'utiliser. Mais dans cette session, j'utiliserai cet outil en ligne appelé cette application quick type.io. Est-ce que c'est également parfait. C'est les deux qui sont très utilisés. Alors voyez si je viens d'écrire simplement flotté notre fléchette Jason à modéliser. Ensuite, vous les aurez tous les deux. Ok, je suppose. Oui, c'est instantanément parse json dans n'importe quelle langue. Ok ? Nous avons ça ici. Et pour le faire en pratique, j'utiliserai un autre APA. Plus tôt, nous utilisions cette fausse API de magasin. Mais maintenant, je ne veux pas utiliser cette API car nous savons déjà que les données qu'elle fournit. Je vais donc utiliser ce vice.com fruité. Il s'agit d'un service Web qui fournit des données pour toutes sortes de fruits. Il s'agit d'une API gratuite. C'est pourquoi je l'utilise. Et ici, vous pouvez voir tous les points finaux. Cela permet. Nous pouvons donc obtenir les données d'un fruit particulier comme celui-ci. Et nous pouvons également obtenir tous les fruits de ce point de terminaison, c'est-à-dire APS slash fruits slash on. Ce point final nous donne une liste de ces données cartographiques contenant tous les fruits. Donc, sans perdre plus de temps, j'aimerais vous montrer comment utiliser cette application quick.io pour créer des modèles. Donc ici, je vais simplement écrire apple et taper enter. Cela nous donnera la structure des données comme celle-ci. Ici, vous pouvez dire que ce n'est pas si complexe, mais cette chaîne KEY, la valeur est chaîne, chaîne, c'est un entier, mais ces nutritions sont encore une valeur de carte qui contient clés de chaîne et double en tant que valeurs. Je vais donc simplement copier cette structure et aller dans ce type rapide de point d'application et la coller ici. Mais avant de coller et de vous souvenir de votre langue, vous devez utiliser Dart. Et puis je vais simplement supprimer tout ce qui se trouve ici, coller dans le nom. Tu dois écrire le nom de ce fruit. Toi et pas toi, tu peux ajouter ce que je veux. Mais comme il s'agit de données d' un fruit en particulier, je suis en train de lire. Ok ? Maintenant, dans la sortie que vous voyez, nous avons ce modèle ici. Cela, beaucoup de choses ont été faites automatiquement ou autrement, nous avons dû tout écrire nous-mêmes et ce n'est pas faisable tout le temps. Donc, ce que je vais faire maintenant, c'est tout copier, copier toutes ces données et aller dans notre code VS. Et dans le dossier des modèles, je vais simplement créer un modèle appelé Fruit point point puis coller le tout ici. Vous pouvez donc dire qu'à cette époque, c'est simplement parce que les données ici ne sont pas nulles, comme ceci. Et comme c'est obligatoire, nous devons simplement écrire le mot clé requis pour que cette erreur disparaisse. C'est ça. Ensuite, la nutrition aussi, nous devons la coller et Alda ajoutée est maintenant corrigée. Donc, si vous regardez dans le cours d'aujourd'hui, la seule chose requise est celle-ci. Il s'agit des données ou des variables. Ensuite, grâce à ce constructeur, nous acceptons cela de la part de Jason. Nous l'avons déjà fait dans le produit. Pourquoi ? Lorsque nous utilisions fixed ou API, elle était créée automatiquement. Ce truc Json est juste en train de créer une donnée adjacente au format JSON et c'est de Jason qui crée les données dans ce format de modèle. Et maintenant, vous vous demandez peut-être pourquoi il existe deux classes différentes, classe de nutrition également. Tout simplement parce que ces valeurs nutritives sont à nouveau une carte. Donc tout ce que nous avons dans map sera à nouveau converti en classe. Donc, cette nutrition contient des glucides, des protéines , des graisses, des calories, Hoover, ces valeurs. Encore une fois, c'est une classe et croyez-moi, cela nous aidera beaucoup parce qu'à l'heure actuelle, toutes ces données ont leur type de données intact. Nous ne ferons donc aucune erreur avec la dose. Et si vous voulez voir quelle réponse nous obtiendrons comme ça, vous pouvez simplement aller diapers.com comme ceci et simplement écrire, c'est la réponse que nous allons traiter. Vous êtes peut-être submergé en ce moment, mais croyez-moi , ces données ne sont qu'une donnée. Et après cela, cela se répète avec des fruits différents, très différents. C'est ça. Nous avons donc appris à créer notre modèle JSON. Sans cœur, sans tout taper tout seul. J'utilise généralement ce type d'outils en ligne parce qu'ils font le travail très rapidement et que nous n'avons pas à inquiéter des types de données et si c'est quelque chose, s'il y a quelque chose qui ne va pas. Donc, dans la vidéo suivante, nous allons créer nos fonctions dans le fichier saw dart des services API afin de récupérer toutes les données de fruits et de les afficher sur notre application. Merci. 13. Consommez un nouvel api de repos: Bon retour. Nous avons donc maintenant notre modèle prêt. C'est l'heure. Nous créons une fonction dans le fichier point point de nos services API. Comme précédemment, nous pouvons récupérer les fruits, toutes les données sur les fruits. Il suffit donc de descendre et de donner un commentaire sur obtenir des fruits. Ensuite, simplement, nous aurons une future fonction appelée get on fruits et elle gagnera certainement en tant que fonction sinc. Ensuite, nous aurons une variable d'URL de fruit. Et ici, nous allons analyser notre URI, c'est-à-dire URL, qui se trouve ici. Désolé, oui. Ce sera cette barre oblique API, les fruits slash celle-ci. Il suffit de le coller. J'utilise ce soda API gratuit. Je n'ai pas besoin de créer les clés API de compte pour ces données nulles. Mais vous, je vous ai déjà appris à faire une demande authentifiée également. Donc, si vous le souhaitez, vous pouvez également essayer avec d'autres API. Nous avons donc cette réponse ici. Simplement que c'est le point p get. Ensuite, sur l'URL du fruit. Comme ça. Ensuite, je vais simplement créer une variable de parti. Et Jen, ici je vais écrire du code json point d afin qu' il puisse être converti en une chaîne de ce corps de réponse en une carte. C'est ça. C'est juste le travail de ce décodage par points json. Il convertit une chaîne au format JSON. C'est ça. Maintenant, ici. l'heure, nous avons créé une liste de variables de produit , puis nous l'affectons à un tableau vide. Ensuite, nous utilisons simplement ceci pour la boucle et ajoutons chaque donnée. Il s'agit de ces données uniques. Mais maintenant je vais vous montrer une autre façon de faire la même chose. C'est juste, ça fait juste le travail en une seule ligne, cette étude de front. Je vais obtenir cette liste de fruits. Je vais tous les nommer fruits. Ensuite, je vais simplement écrire la carte des points du parti. Je vais acheter un fruit en particulier ici. Et puis, et je l' enverrai pendant les deux jours à partir de la fonction JSON. Ok ? Et tout simplement je vais enfin créer, je vais tout faire sur une liste. Ce qu'il fait, c'est cartographier à travers le corps, c'est cette réponse. Ensuite, convertissez chaque fois qu'ils sont adjacents à l'objet fruit, puis le renvoyez. Cela signifie qu'il est en train de le retourner. Enfin, tout ce qui suit est fait, ce mappage est fait. Tout sera converti en liste. C'est ça. Et je vais simplement rendre tous les fruits ici. Et cette fonction, je vais lui donner cette liste de types de données génériques de fruits afin que nous sachions ce qu'elle retourne. Ok ? Cette portion est donc terminée. Notre fonction est prête. Il est maintenant temps de créer un nouvel écran afin que nous puissions afficher ces valeurs à l' applet dans l'application. Je vais simplement le nommer tous les fruits point, point. Maintenant, comme d'habitude, importez du matériel. Ensuite, chaque classe de liste d'état de je la nommerai écran de fruits. Maintenant, il va renvoyer un échafaudage dans l'application. Donnons-lui une élévation de 0. Couleur de fond des couleurs point arrangent x. Et cette fois, je vais lui donner tous les fruits. Puis le centre que j'ai dessiné dans ce corps. Faisons appel à un futur constructeur. J'espère que vous êtes maintenant très à l' aise avec ce type de code, car nous le faisons depuis très longtemps. J'utilise les services d'API, puis j'obtiens tous les fruits. est aussi simple que ça. Ce générateur aura un contexte et un instantané. Ce sera dans un seul instantané. Alors je vais vérifier. Si l'instantané DOD a la colombe. Si ce n'est pas le cas, je vais renvoyer un indicateur de progression circulaire. Et s'il contient des données, je reviendrai dans le générateur de points de vue liste. Maintenant, le nombre d'éléments sera le point, le point, la longueur de l' instantané. Et le générateur d'objets aura disparu, textes et index. Maintenant, je vais créer une variable, un type float, et stocker cette valeur d'instantané dans une donnée de point d'instantané, puis l'index. Ce sera donc ce produit singulier. C'est ça. Et puis je vais le rendre, vais retourner une carte. Et à l'intérieur, j' aurai une propriété enfant et ensuite le budget de style liste. Donc dans ce titre, j'aurai un centre et ensuite l'enfant, qui nous montrera lequel nous montrera le nom du fruit, c' est-à-dire le nom du point alimentaire. est aussi simple que ça. Grâce aux objets, nous sommes maintenant en mesure de générer ou d'utiliser nos variables si facilement. Et puis dans le sous-titre, j'aimerais montrer toutes les valeurs nutritionnelles, c' est-à-dire les protéines, les glucides et les graisses. C'est tout simplement, j' aurai un widget de texte. Il écrira des taux élevés en carton. Et maintenant je vais concaténer cette valeur de fruit. Et puis un point, puis des nutritions, puis un point et voir. Maintenant, je peux simplement utiliser des carbures à partir ici simplement parce qu'il est enregistré dans un autre objet. Ou bien j'ai dû utiliser ces glucides clés et je vais certainement faire l'erreur ici. Je vais simplement le copier et le coller deux fois. Le deuxième sera la protéine. Ce sera simplement une protéine. Et le troisième sera les graisses. Et ce sera tout simplement gras. C'est ça. Maintenant, dans la ligne, je vais donner un alignement de l'axe principal de l' espace de points d'alignement principal existant uniformément, juste pour le rendre beau. Maintenant, pour le tester, nous devons aller dans notre fichier point principal. Et au lieu de ce fichier de connexion, nous devons écrire cet écran de fruits. C'est ça. Allons voir ça. J'ai redémarré mon application. Ok, l'écran est beau et toutes les données sont là. Pomme, abricots, bananes, et cette graisse protéique glucidique. Si vous le souhaitez, vous pouvez sortir cette commande de famille Janus, quel que soit le nombre de calories. Si vous le souhaitez, vous pouvez également les afficher. Je n'utilise pas la propriété de début et de fin du style de liste. Je veux juste te montrer comment c'est fait. Comment créer des modèles si facilement à l'aide d'outils en ligne. Et aussi, nous avons réussi consommer une nouvelle API qui est aussi fruitée. Et si vous le souhaitez, vous pouvez également créer un écran différent afin afficher un seul détail de fruit si vous le souhaitez, c'est à vous de décider. Mais j'espère que vous avez apprécié nos vidéos jusqu'ici. Ce modèle était très important car dans une application réelle, vous allez créer des modèles pour tout ce qui est des utilisateurs, des contextes ou toutes les données ou informations que vous avez dans votre vous allez créer des modèles pour cela. C'est donc tout pour cette session. Rendez-vous dans le prochain module. Merci.