2016年2月20日土曜日

ファイル/フォルダのパスを保存したい

ピッカーなんかで選択したパスを次の起動時に扱いたいと言う話
結論を言うとパスを保存してもそれからファイル/フォルダを開く方法が無いので無理
代わりに
ファイルを表すWindows.Storage.StorageFile
フォルダを表すWindows.Storage.StorageFolder
で書込読込する
ピッカーで取得出来るものもこれ


方法
 読込
  var ファイル =
   await StorageApplicationPermissions.FutureAccessList.GetFileAsync("ファイルトークン")
  var フォルダ =
   await StorageApplicationPermissions.FutureAccessList.GetFolderAsync("フォルダトークン")

 書込
   StorageApplicationPermissions.FutureAccessList.AddOrReplace(
    "ファイル/フォルダ トークン", ファイル/フォルダ, "");

 名前空間はWindows.Storage.AccessCache.StorageApplicationPermissions
  トークンは読込と書込が一致していればいいのでStorageFile/Folderのメンバをnameof()すると良
  ただしMSはStorageApplicationPermissions.FutureAccessList.Addで帰ってくるトークン使用を推奨している模様

参考資料
  http://www.atmarkit.co.jp/ait/articles/1308/08/news071.html
  https://msdn.microsoft.com/ja-jp/library/windows/apps/windows.storage.accesscache.storageapplicationpermissions