Нативная разработка мобильных приложений



Download 3,69 Mb.
Pdf ko'rish
bet75/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   71   72   73   74   75   76   77   78   ...   228
Bog'liq
Нативная разработка мобильных приложений

Глава 
6
Файлы
Во многих приложениях возникает необходимость записать данные в файл 
или прочитать их из файла. Например, приложение может изменить изобра
-
жение и сохранить его на диск, загрузить видео на SD-карту (предварительно 
определив ее доступность) или использовать простую индексированную базу 
данных, состоящую из простых файлов JSON. Логику работы с файлами часто 
приходится реализовывать при разработке приложений, поэтому хорошее по
-
нимание основ важно для большинства разработчиков.
з
адачи
В этой главе вы узнаете:
1) как определить характеристики файла, такие как размер или дата по
-
следнего изменения;
2) как читать данные из файлов и записывать их в файлы;
3) как скопировать данные из одного файла в другой.
A
ndroid
В Android разработчик может определить местоположение внешней SD-карты, 
сжать группу файлов для выгрузки, организовать наблюдение за изменениями 
в пользовательских настройках, получить растровые изображения из внешних 
ресурсов, прочитать файл или вывести сообщение в файл журнала. Даже база 
данных SQLite (база данных, предоставляемая платформой AOSP) хранится 
в виде файла, что позволяет приманить к ней ту же логику, чтобы определить 
размер или создать копию для экспорта.
Поддержка операций с файлами в Java прошла долгий путь, и современные 
версии языка включают потоковые API, новый пакет 
java.nio.file
(nio означа
-
ет new input/output – новый ввод/вывод) и некоторые удобные вспомогатель
-
ные классы, такие как 
Files
и 
Paths
, поддерживающие разные способы доступа 
к файловой системе. К сожалению, они недоступны большинству разработчи
-
ков для Android, и на момент написания этой книги только две последние вер
-
сии ОС Android – около 21 % всех установок Android – имели поддержку пакета 
java.nio.file
. В настоящее время потоковые API и вспомогательный класс 
Files
недоступны ни в одной версии Android.


112

Файлы
Но не надо отчаиваться! Проявив немного изобретательности, мы можем 
использовать существующие фреймворки и стандартную библиотеку для вы
-
полнения практически любых операций, какие только могут потребоваться. 
Чаще всего для подобных целей используется пакет 
java.io
(как вы уже дога
-
дались... это input and output – ввод и вывод) и один из его классов – 
ja
va.
io.File
. Экземпляр 
File
является абстрактным представлением местоположе
-
ния в локальной файловой системе. Обратите внимание, что экземпляр 
File
может представлять и файл, и каталог, и имеет такие методы, как 
isDirectory
или 
isFile
, помогающие отличать их.
Чтобы получить ссылку на существующий файл, можно передать путь 
к нему в вызов конструктора 
File

File
file
=
new
File("
path/to/file.ext");
. При
-
ложения для Android часто имеют ограниченный доступ к файловой систе
-
ме – обычно приложению назначается специальный каталог на устройстве, 
для которого будут установлены разрешения на чтение и запись. Получить 
ссылку на этот каталог можно вызовом метода 
getFilesDir()
любого экземп-
ляра 
Context
, который вернет уже готовый экземпляр 
File
, представляющий 
каталог, созданный системой для вашего приложения. Итак, в приложении 
для Android можно создать новый файл, указав этот каталог в роли корневого 
каталога:
File file = new File(context.getFilesDir(), "path/to/file.ext");
Если файл не существует, его нужно создать: 
file.createNewFile()
;
. Также 
важно гарантировать существование всех промежуточных каталогов в пути 
к файлу; сделать это можно вызовом метода 
file.getParentFile().mkdirs()
, ко
-
торый создаст все необходимые подкаталоги в пути к файлу. То есть приме
-
нительно к предыдущему примеру 
file.mkdirs()
создаст папку с именем path, 
а затем внутри нее еще одну папку с именем to. Обратите внимание на мно-
жественное число имени 
mkdirs
; вызов 
file.mkdir()
создаст только один ката
-
лог, определяемый экземпляром 
File
.

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   71   72   73   74   75   76   77   78   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish