Робота з файлами Windows Runtime

Вище ми говорили про сховища даних для додатків як про спосіб зберігати прості налаштування та файли Але якщо говорити про файли, то тут може знадобитися зберігати їх не тільки в каталог додатки, про який користувач нічого не знає, але і в один з стандартних каталогів Наприклад, якщо Ваша програма дозволяє редагувати зображення, то логічно давати користувачеві можливість зберігати їх в каталог My Pictures Windows Runtime дозволяє робити це, реалізуючи класKnownFolders, Який надає наступні властивості

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp DocumentsLibrary – Посилання на каталог My Documents

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp PicturesLibrary – Посилання на каталог My Pictures

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp MusicLibrary – Посилання на каталог My Music

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp HomeGroup – Можливість отримувати доступ до файлового сховища всередині домашньої мережі користувача

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp MediaServerDevices – Можливість взаємодіяти з пристроєм, що підтримує передачу даних по протоколу DLNA (функціональність PlayTo)

·&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp RemovableDevices   – Можливість отримувати доступ до зовнішніх сховищ, підключеним безпосередньо до компютера

Всі перераховані властивості повертають обєкт типу StorageFolder, Про який ми писали в попередньому розділі А отримавши посилання наStorageFolder, Розробник може спокійно відкривати і створювати нові файли

Правда, не все так просто Для того щоб додаток пройшло сертифікацію в магазині Windows, необхідно, щоб файл маніфесту прописував серед інших можливостей програми та ті, які декларують доступ до певного каталогу користувача (про це в наступному розділі) Крім того, додаток буде мати доступ тільки до того типу файлів, який (які) визначається в тому ж маніфесті шляхом деклараціїFile  Type Associations Іншими словами, якщо Ваша програма працює с Docx-файлами, то їх розширення необхідно задекларувати в маніфесті, і тільки тоді Ви зможете отримати доступ до всіх подібних файлів Все це зроблено для того, щоб захистити користувача від небажаного доступу до його особистих даних Користувач ще на етапі установки буде знати, які файли використовує додаток і до яких каталогом має доступ

Існує ще один механізм роботи з файлами – можливість користувача вибирати файл самостійно Вона досягається за допомогою класу FileOpenPicker, Який відкриє стандартне діалогове вікно, що дозволяє вибрати файл практично з будь-якого місця Можливість використання

FIleOpenPicker  також повинна бути задекларована, після чого можна спокійно створювати обєкт цього класу Ось невеликий приклад коду

public async void SelectFile()

{

FileOpenPicker openPicker = new FileOpenPicker() openPickerViewMode = PickerViewModeThumbnail

openPickerSuggestedStartLocation = PickerLocationIdPicturesLibrary

openPickerFileTypeFilterAdd(&quot.tif&quot)

StorageFile file=await openPickerPickSingleFileAsync()

}

Викликавши цей метод, ми отримаємо стандартний діалог, який дозволяє вибрати файл з розширенням tif

Рис 101

Якщо Ви хочете не відкрити файл, а зберегти дані з програми в місце, вказане користувачем, то можна скористатися класомFileSavePicker, Який працює аналогічно

Сергій Лутай, Сергій Байдачний, Windows 8 для C # розробників

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*