Suivre les fichiers et dossiers récemment utilisés

API importantes

Effectuez le suivi des fichiers auxquels l’utilisateur accède fréquemment en les ajoutant à la liste Utilisés récemment de votre application. La plateforme gère les éléments récents pour vous, en les triant selon le critère du dernier accès, et en supprimant l’élément le plus ancien quand la limite de 25 éléments est atteinte. Toutes les applications ont leurs propres éléments utilisés récemment.

Les éléments récents de votre application sont représentés par la classe StorageItemMostRecentlyUsedList, que vous pouvez obtenir à partir de la propriété StorageApplicationPermissions.MostRecentlyUsedList statique. Les éléments récents sont stockés en tant qu’objets IStorageItem, ce qui signifie que des objets StorageFile (qui représentent des fichiers) et StorageFolder (qui représentent des dossiers) peuvent être ajoutés aux éléments récents.

Notes

 Pour obtenir des exemples complets, reportez-vous à l’exemple de sélecteur de fichiers et à l’exemple d’accès aux fichiers.

Prérequis

Ajouter un fichier sélectionné au éléments récents

  • Les fichiers que l'utilisateur sélectionne sont souvent des fichiers auxquels il revient à plusieurs reprises. Par conséquent, songez à ajouter des fichiers sélectionnés à la liste d’éléments récents de votre application dès leur sélection. Voici comment procéder.

    Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    
    var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList;
    string mruToken = mru.Add(file, "profile pic");
    

    StorageItemMostRecentlyUsedList.Add est surchargé. Dans l’exemple, nous utilisons Add(IStorageItem, String) afin de pouvoir associer des métadonnées au fichier. La définition des métadonnées vous permet d’enregistrer la finalité de l’élément, par exemple, « image du profil ». Vous pouvez également ajouter le fichier à la liste Utilisés récemment sans métadonnées en appelant Add(IStorageItem). Chaque fois que vous ajoutez un élément aux éléments récents, la méthode retourne une chaîne d’identification unique, ou jeton, qui est utilisée pour récupérer l’élément.

Conseil

Le jeton étant nécessaire pour récupérer un élément de la liste Utilisés récemment, il convient de le conserver quelque part. Pour plus d’informations sur les données d’application, consultez Gestion des données d’application.

Utiliser un jeton pour récupérer un élément de la liste des éléments récents

Utilisez la méthode de récupération la plus appropriée pour l’élément à récupérer.

Voici comment récupérer le fichier que nous venons d'ajouter.

StorageFile retrievedFile = await mru.GetFileAsync(mruToken);

Voici comment itérer dans toutes les entrées pour obtenir des jetons, puis des éléments.

foreach (Windows.Storage.AccessCache.AccessListEntry entry in mru.Entries)
{
    string mruToken = entry.Token;
    string mruMetadata = entry.Metadata;
    Windows.Storage.IStorageItem item = await mru.GetItemAsync(mruToken);
    // The type of item will tell you whether it's a file or a folder.
}

La AccessListEntryView vous permet d’itérer des entrées dans la liste Utilisés récemment. Ces entrées sont des structures AccessListEntry contenant le jeton et les métadonnées d’un élément.

Suppression d’éléments de la liste des éléments récents quand celle-ci est pleine

Quand cette limite de 25 éléments est atteinte et que vous essayez d’ajouter un nouvel élément, l’élément auquel l’utilisateur a accédé dans le passé le plus lointain est automatiquement supprimé. Par conséquent, vous devez jamais supprimer un élément avant d'en ajouter un nouveau.

Liste d'accès futurs

Comme pour les éléments récents, votre application dispose d’une liste d'accès futurs. En sélectionnant des fichiers et dossiers, votre utilisateur autorise votre application à accéder à des éléments qui pourraient ne pas être accessibles autrement. En ajoutant ces éléments à votre liste d'accès futurs, vous conservez cette autorisation au cas où votre application devrait accéder à ces éléments ultérieurement. La liste d’accès futurs de votre application est représentée par la classe StorageItemAccessList que vous obtenez à partir de la propriété StorageApplicationPermissions.FutureAccessList statique.

Quand un utilisateur sélectionne un élément, songez à ajouter celui-ci à votre liste d'accès futurs ainsi qu’aux éléments récents.

  • La FutureAccessList peut contenir jusqu’à 1 000 éléments. N'oubliez pas que ce nombre comprend les dossiers et les fichiers.
  • La plateforme ne supprime jamais d’éléments de la FutureAccessList à votre place. Lorsque vous avez atteint la limite des 1 000 éléments, vous ne pouvez plus en ajouter sans libérer préalablement de l’espace avec la méthode Remove.