Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las APIs importantes
- ListaDeMásUsadosRecientemente
- FileOpenPicker
Realice un seguimiento de los archivos a los que el usuario accede con frecuencia agregándolos a la lista usada más recientemente de la aplicación (MRU). La plataforma administra el MRU automáticamente ordenando los elementos en función de cuándo se accedió por última vez y quitando el elemento más antiguo cuando se alcanza el límite de 25 elementos de la lista. Todas las aplicaciones tienen su propia MRU.
Su MRU de la aplicación se representa mediante la clase StorageItemMostRecentlyUsedList, que se obtiene de la propiedad estática StorageApplicationPermissions.MostRecentlyUsedList. Los elementos MRU se almacenan como objetos IStorageItem, por lo que tanto objetos StorageFile (que representan archivos) como objetos StorageFolder (que representan carpetas) se pueden agregar a mrU.
Nota:
Para obtener ejemplos completos, consulte el ejemplo del selector de archivos y el ejemplo de acceso a archivos .
Prerrequisitos
Comprender la programación asincrónica para aplicaciones para la Plataforma universal de Windows (UWP)
Puede aprender a escribir aplicaciones asincrónicas en C# o Visual Basic, consulte Llamada a API asincrónicas en C# o Visual Basic. Para obtener información sobre cómo escribir aplicaciones asincrónicas en C++, consulte programación asincrónica en C++.
Permisos de acceso a la ubicación
Consulte Permisos de acceso a archivos.
Abrir archivos y carpetas con un selector
Los archivos seleccionados suelen ser los mismos archivos a los que los usuarios vuelven de nuevo y de nuevo.
Agregar un archivo seleccionado a mrU
Los archivos que elige el usuario suelen ser archivos a los que vuelven repetidamente. Por lo tanto, considere la posibilidad de agregar archivos seleccionados a la MRU de la aplicación tan pronto como se seleccionen. Así es como.
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); var mru = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList; string mruToken = mru.Add(file, "profile pic");
StorageItemMostRecentlyUsedList.Add está sobrecargado. En el ejemplo, usamos Add(IStorageItem, String) para poder asociar metadatos al archivo. Establecer metadatos le permite registrar el propósito del elemento, por ejemplo, "imagen de perfil". También puede agregar el archivo a mrU sin metadatos llamando a Add(IStorageItem). Al agregar un elemento a mrU, el método devuelve una cadena de identificación única, denominada token, que se usa para recuperar el elemento.
Sugerencia
Necesitará el token para recuperar un elemento de la MRU, por lo que deberá guardarlo en algún lugar. Para obtener más información sobre los datos de la aplicación, consulte Administración de datos de aplicaciones.
Usar un token para recuperar un elemento de la MRU
Use el método de recuperación más adecuado para el elemento que desea recuperar.
- Recupere un archivo como StorageFile de
mediante .GetFileAsync - Recupere una carpeta como StorageFolder usando GetFolderAsync.
- Recupere un IStorageItem genérico, que puede representar un archivo o una carpeta mediante GetItemAsync.
Aquí se muestra cómo recuperar el archivo que acabamos de agregar.
StorageFile retrievedFile = await mru.GetFileAsync(mruToken);
Aquí se muestra cómo iterar todas las entradas para obtener tokens y, a continuación, elementos.
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.
}
El AccessListEntryView le permite iterar entradas en el MRU. Estas entradas son estructuras de AccessListEntry que contienen el token y los metadatos de un elemento.
Eliminar elementos del MRU cuando se llena
Cuando se alcanza el límite de 25 elementos de MRU e intenta agregar un nuevo elemento, se quita automáticamente el elemento al que se accedió hace más tiempo. Por lo tanto, nunca necesita quitar un elemento antes de agregar uno nuevo.
Lista de acceso futuro
Además de una MRU, la aplicación también tiene una lista de accesos futuros. Al seleccionar archivos y carpetas, el usuario concede permiso a la aplicación para acceder a elementos que podrían no ser accesibles de otro modo. Si agrega estos elementos a la lista de acceso futuro, conservará ese permiso cuando la aplicación quiera acceder a esos elementos de nuevo más adelante. La lista de acceso futuro de la aplicación se representa mediante la clase StorageItemAccessList, que obtiene de la propiedad estática StorageApplicationPermissions.FutureAccessList.
Cuando un usuario elige un elemento, considere la posibilidad de agregarlo a la lista de acceso futuro, así como a su MRU.
- El FutureAccessList puede contener hasta 1000 elementos. Recuerde: puede contener carpetas, así como archivos, por lo que es una gran cantidad de carpetas.
- La plataforma nunca quita elementos de la FutureAccessList para usted. Al alcanzar el límite de 1000 elementos, no puedes agregar otro hasta que hagas espacio con el método Remove.