10

Feb

Windows 8 : Gestione dei file e cartelle utilizzati di recente

Nelle applicazioni Windows 8 è possibile tener traccia degli elementi utilizzati di recente mediante la classe MostRecentlyUsedList (Windows.Storage.AccessCache), il sistema gestirà in modo automatico l'ordinamento degli elementi in base all'ultima data di accesso ed eliminerà, superato il limite di 25 items, quelli meno recenti. La classe MostRecentlyUsedList consente di aggiungere nuovi elementi che implementano IStorageItem tramite la procedura Add, la quale ha due overload, uno che accetta solo un oggetto IStorageItem e l'altro che accetta anche uno string, quest'ultimo può essere utilizzato per memorizzare lo scopo di utilizzo del file .

Aggiunta di un elemento ai contenuti recenti

Dopo aver ottenuto il riferimento al file è possibile aggiungerlo alla lista dei contenuti recenti nel seguente modo:

//Seleziono una immagine dalla picture library

FileOpenPicker flop = new FileOpenPicker();
flop.ViewMode = PickerViewMode.Thumbnail;
flop.FileTypeFilter.Add(".jpg");
var selectedFile = await flop.PickSingleFileAsync();

 // Aggiungo il file alla lista degli ultimi file utilizzati recuperandone il corrispettivo token
var token = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Add(selectedFile,"Purpose");

Come è possibile notare, il metodo Add restituisce un token che potrà essere impiegato in un secondo momento per recuperare l'istanza del tipo IStorageItem che si vorrà ottenere.

// Dal token recupero il file specificato
var usedFile = Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.GetFileAsync(token);

Vi sono 3 metodi per il recupero degli elementi che accettano come parametro il token del file :

  • GetFileAsync, consente di recuperare uno specifico file
  • GetFolderAsync, mediante il quale è possibile ottenere il recupero di una specifica cartella
  • GetItemAsync, permette il recupero di un elemento IStorageItem generico

E' possibile recuperare tutti gli elementi utilizzati di recente tramite la proprietà Entries la quale restituisce un oggetto AccessListEntryView, una collezione di elementi AccessListEntry contenente il token del file e l'eventuale descrizione dello scopo.

// Recupero di tutti i token dal contenitore

foreach (AccessListEntry entry in Windows.Storage.AccessCache.StorageApplicationPermissions.MostRecentlyUsedList.Entries)
 {
String recentToken = entry.Token;
}

Per approfondire l'argomento è possibile consultare la relativa documentazione tecnica al seguente indirizzo
http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh972344.aspx

by Andrea Romeo on 2/10/2013
Post archive