способом, удалятся вместе с приложением.
Для открытия и создания файла используется стандартный метод
FileOutputStreemContext.openFileOutput(StringfileName, intmode).
Запись в файл
осуществляется методомwrite().
Открыть
файл
для
чтения
можно
с
помощью
метода
FileInputStreemContext.openFileInput(StringfileName). Чтение данных из файла
осуществляется методом read().
Для закрытия файлов применяют метод close().
Для работы с внутренней памятью существует несколько специальных
методов:
Context.getCacheDir() – используется
для сохранения кэша приложения;
Context.getFilesDir() – позволяет получить абсолютный путь к фай-
ламприложения;
Context.getDir(StringdirName, intmode) – служит для создания при
необходимости новой директории во внутренней памятиприложения;
Context.deleteFile(StreengfileName) – позволяет
удалить ненужный файл;
Context.fileList() – возвращает массив имен файлов, сохраненных во
внутренней памятиприложения.
Пример работы с файлами из внутренней памяти приложения в прил. Д.
Внешняя память
Внешней памятью считается SD-карта или встроенная память. Файлы,
сохраненные во внешнюю память, могут быть получены и изменены любым
приложением. Для того чтобы получить разрешение работатьс
SD-картой, в
манифесте
требуется
указать
разрешение
android.permission.WRITE_EXTERNAL_STORAGE.
Для
проверки
доступности
внешней памяти
используют метод
Environment.getExternalStorageState(). Он
возвращает различные состояния, но для
нас интересны только:
85
Environment.MEDIA_MOUNTED – означает, что память полностью готова
кработе;
Environment.MEDIA_MOUNTED_READ_ONLY – означает, что память
позволяет только читатьфайлы.
При любом другом состоянии работа с памятью невозможна.
Чтобы получить путь к директории внешней памяти, используют метод
FileEnvironment.getExternalStorageDirectory(). Кроме того, можно использовать
метод FileContext.getExternalFilesDir(Stringtype). В
качестве параметра type
передается тип возвращаемой директории:
null;
Environment.DIRECTORY_MUSIC;
Environment.DIRRECTORY_MOVIES идр.
Для работы с файлами используются стандартные средства Java.
Вопросы:
1.
В каких случаях целесообразно использовать сохранение данных во
внутренней памяти, а в каких – вовнешней?
2.
С помощью каких методов можно создать объект Sharedpreferences? В
чем ихразличия?
3.
Какие методы используются для сохранения файла во внутренней
памяти?
4.
Какие существуют типы директорий во внешнейпамяти?
Достарыңызбен бөлісу: