Aggiungere associazioni a file con la Universal Windows Platform

di Matteo Tumiati, in Windows 10,

L'apertura di una applicazione, o più nello specifico di un file, è una delle operazioni che vengono ripetute più spesso durante l'utilizzo del PC. Per gli sviluppatori, associare dei file alle applicazioni che sviluppano, è fondamentale: in questo modo i contenuti dei file stesso possono essere protetti e letti/scritti dall'applicazione stessa, l'avvio dell'applicazione può dipendere da un file specifico e così via, il tutto a beneficio dell'utente finale.

Con la Universal Windows Platform è possibile associare una determinata estensione all'applicazione che stiamo sviluppando attraverso l'uso del tab "Declarations" nel file di manifest. All'interno di questo spazio si può aggiungere la capability "File Type Association" che da la possibilità di specificare i seguenti parametri:

  • DisplayName: il nome dell'applicazione;
  • Logo: il logo da assegnare ai file che possono essere aperti dall'applicazione;
  • Info tip: la descrizione da mostrare quando il mouse fa l'hover sopra i file;
  • Name: un nome generico da assegnare all'associazione;
  • File Type: un elenco di estensioni che vogliamo aggiungere (tutte in minuscolo e con il carattere "." come prefisso) a cui è possibile specificare il content-type.

Una volta avviata l'applicazione, come quella costruita per questo esempio, in cui l'associazione è per i file con estensione ".aspitalia", tutti i file presenti nel sistema operativo verranno aggiornati per rispettare la nuova icona impostata dall'applicazione stessa (a meno che sia una estensione riservata, tipo ".mp3" in cui questo non avviene perché è l'utente a dover scegliere quale applicazione aprire).


Una volta associato il file però, è necessario che l'applicazione lo gestisca in modo adeguato: ad esempio, nel caso in cui sia un file di testo ci si aspetta di navigare ad una pagina in cui sia possibile leggerne i contenuti, mentre nel caso di un file audio, ci si aspetta di ascoltare immediatamente la riproduzione del file. E' possibile registrarsi ad uno degli eventi Activated della Universal Windows Platform per eseguire le operazioni più adeguate secondo la tipologia di file e la nostra logica di business:

protected override async void OnFileActivated(FileActivatedEventArgs args)
{
    base.OnFileActivated(args);

    var file = (StorageFile)args.Files[0];
    var filePath = file.Path;
    var read = await FileIO.ReadTextAsync(file);
    
    /// ...
}

L'esempio di codice dovrebbe essere piuttosto esplicativo e, in questo caso, viene solo fatta una operazione di lettura in modalità asincrona del file, una volta recuperato tramite gli argomenti dell'evento OnFileActivated. Una proprietà molto importante che vale la pena sottolineare da questi argomenti, è la NeighboringFilesQuery che consente di restituire elementi simili disponibili nella stessa cartella: nel caso di una galleria di immagini, facendo doppio click su un file si vedrà solo quello selezionato, mentre scorrendo a destra e a sinistra potremmo mostrare le foto provenienti dalla proprietà dei vicini.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi