>

onsdag 21 september 2011

Filhantering i Windows 8

Denna bloggpost grundar sig på Windows 8 Developer Preview release och kan komma att ändras.

I Windows 8 kommer applikationerna att vara mera avgränsade, både mellan varandra och systemet. Detta innebär bl.a. att filhanteringen kommer var lite annorlunda än du är van vid.
Ersättaren till IsolageStorage
Till att börja med har applikationen ett eget mapp att använda ungefär på samma sätt som IsolageStorage fungerar. Windows.Storage.ApplicationData.Current.LocalFolder ger denna mapp. Via den kan du sedan skapa och öppna filer.
Jobba med biblioteken
Det andra alternativet du har om du vill öppna filer är genom det som vi idag lärt känna som Bibliotek/Library. Dessa mappar kan du nå via Windows.Storage.KnownFolders och är någon utav följande:

  • PicturesLibrary
  • MusicLibrary
  • DocumentsLibrary
  • VideoLibrary
Här finns även RemovableDevices vilket gör att du kan nå tex ett USB-minne. Dock kan du inte nå någon av ovanstående innan du deklarerat att du vill ha åtkomst till dem. Detta görs via manifestet och kommer då också att visas för användaren.
Library
Och som vanligt skall du inte begära mer behörighet än du behöver.
Låt användaren bestämma
Om du vill komma åt filer utöver dessa platser kan du fråga användaren efter filer och på det sättet få åtkomst till den. Detta gör du med hjälp av Windows.Storage.Pickers.FileOpenPicker, denna öppnar ett standardgränssnitt som låter användaren välja en fil eller flera filer. Dessa kan komma från den lokala datorn, någon dator i nätverket eller en annan applikation som stöder funktionen att dela med sig av filer.
När en fil blir öppna på detta sätt har din applikation bara åtkomst till filen just då, du kan alltså inte spara sökvägen och försöka öppna filen nästa gång du har applikationen igång. För att kunna göra detta kan man spara undan att användaren har gett applikationen tillstånd att använda filen. Detta görs i Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList. På detta objekt använder du funktionen AddOrReplace för att lägga till och spara en filaccess för, att sedan kolla i objektet efter om du redan har en behörighet sparad använder du funktionen ContainsItem och för att sedan återhämta filobjektet används GetFileAsync funktionen.

Denna bloggpost grundar sig på Windows 8 Developer Preview release och kan komma att ändras.

Inga kommentarer:

Skicka en kommentar