Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Sauvegarde de fichiers avec MAUI Community Toolkit

La gestion de fichiers est un aspect crucial dans le développement d'applications modernes. Bien que cette tâche puisse sembler ardue, l'utilisation de MAUI Community Toolkit simplifie considérablement le processus grâce à son API FileSaver. Dans ce post, je vais vous montrer comment utiliser cette API pour sauvegarder des fichiers de manière efficace et sécurisée.

Prérequis : Qu'est-ce que MAUI Community Toolkit ?

J'en ai déjà parlé souvent et les lecteurs assidus le savent, mais je dois aussi considérer les lecteurs occasionnels qui atterriront ici guidés par un lien ou une recherche web. Donc, MAUI Community Toolkit est une bibliothèque riche en fonctionnalités qui offre des éléments réutilisables tels que des animations, des comportements et des convertisseurs pour le développement d'applications MAUI. Une seule configuration suffit pour tirer pleinement parti de cette boîte à outils.

Configuration initiale

Pour initialiser MAUI Community Toolkit, ajoutez la ligne suivante dans la méthode CreateMauiApp de votre fichier MauiProgram.cs :

using CommunityToolkit.Maui;

Paramètres de la plateforme

L'accès au disque est protégé par certains OS. Pour Android, vous devez ajouter les permissions suivantes dans votre fichier AndroidManifest.cs :

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Pour Tizen, ajoutez les privilèges suivants dans votre fichier tizen-manifest.xml :

<privilege>http://tizen.org/privilege/mediastorage</privilege>
<privilege>http://tizen.org/privilege/externalstorage</privilege>

Pour iOS/MacCatalyst et Windows, aucune configuration supplémentaire n'est nécessaire.

Utilisation de FileSaver

Injection de dépendances

Pour utiliser FileSaver, nous allons utiliser l'injection de dépendances. Ajoutez le code suivant dans votre fichier MauiProgram.cs :

builder.Services.AddSingleton<IFileSaver>(FileSaver.Default);

Dans votre MainPage.xaml.cs, injectez IFileSaver comme suit :

public partial class MainPage : ContentPage
{
    IFileSaver fileSaver;
    public MainPage(IFileSaver fileSaver)
    {
        InitializeComponent();
        this.fileSaver = fileSaver;
    }
}

Sauvegarde du fichier

Utilisez la méthode SaveAsync() pour sauvegarder le fichier. Cette méthode prend plusieurs paramètres :

Initial path : Chemin initial suggéré dans la boîte de dialogue.

File name : Nom du fichier suggéré, doit inclure l'extension du fichier.

Stream : Stream contenant le contenu du fichier à sauvegarder.

CancellationToken : Token pour annuler l'opération.

Exemple de code :

private async void SaveFile(object sender, EventArgs e)
{
    using var stream = new MemoryStream(Encoding.Default.GetBytes("Contenu du fichier"));
    var result = await fileSaver.SaveAsync("Exemple.txt", stream, new CancellationToken());
}

Résultats et gestion des erreurs

La méthode SaveAsync() retourne un objet FileSaverResult qui contient des informations sur le résultat de l'opération, y compris un chemin vers le fichier sauvegardé et un indicateur de succès.

var fileSaverResult = await fileSaver.SaveAsync("Exemple.txt", stream, new CancellationToken());
if (fileSaverResult.IsSuccessful)
{
    // Opération réussie
}

Conclusion

Grâce à MAUI Community Toolkit, la sauvegarde de fichiers devient une tâche simple et efficace. Vous pouvez maintenant intégrer cette fonctionnalité dans vos applications MAUI avec une grande facilité.

Merci de m'avoir lu. Si vous avez des questions ou des commentaires, n'hésitez pas à les partager.

Stay Tuned !

Le Guide Complet de.NET MAUI ! Lien direct Amazon : https://amzn.eu/d/95wBULD

Près de 500 pages dédiées à l'univers .NET MAUI !

Existe aussi en version Kindle à prix réduit !

Faites des heureux, partagez l'article !
blog comments powered by Disqus