Android Internal Storage: пример работы с внутренней памятью

В этом уроке мы рассмотрим пример работы с внутренней памятью (Android Internal Storage), а именно хранение и чтение данных.

Внутренняя память Android. Теория

Любое устройство на Android позволяет хранение личных данных во внутренней памяти. Если одно приложение сохраняет или загружает файл на внутреннюю память, то другие приложения не смогут получить доступ к этим файлам. Этими файлами может распоряжаться только это приложение. Когда пользователь удаляет его, то все внутренние файлы этого приложения также удаляются.

Тем не менее, обратите внимание, что некоторые пользователи могут получить root-доступ на свои Android устройства. В этом случае, пользователи смогут получать доступ к любым файлам.

Создание и чтение файлов с внутренней памяти Android

Android использует методы openFileInput() и openFileOutput() классов Java IO для работы с локальными файлами.

Обратите внимание, что эти методы не принимают на вход путь к файлу (например, path/to/fileName.txt), а просто получают имена файлов «fileName.txt«.

Метод openFileOutput() используется для создания и сохранения файла. Пример использования приведен ниже:

Метод openFileOutput() возвращает экземпляр FileOutputStream . После этого мы можем записать данные в файл. Пример:

Метод openFileInput() используется для чтения данных из файла. Он возвращает экземпляр FileInputStream. Пример использования:

Далее мы посимвольно считываем данные из файла в строку. Например, так:

Пример работы с внутренней памятью (Android Internal Storage). Практика

Ниже представлена структура нашего простого Android проекта:

 

projStruc

Код макета activity_main.xml содержит кнопки writeBtn и readBtn для записи данных в файл и чтения. Обратите внимание, что мы определили метод OnClick в макете, а не в коде (можете сами назначить слушатель в коде — это ничего не меняет. Просто мы учим Android, поэтому пробуем различные способы управлять поведением виджетов):

Чтобы назначать метод OnClick() в макете, мы должны определить метод в коде с параметром View, иначе Android выдаст ошибку, что метод имеет неправильную сигнатуру (в параметрах метода нет View).

Класс MainActivity содержит реализацию методов чтения и записи файлов:

Результат работы с внутренней памятью (Android Internal Storage):

android internal storage

Мы ввели текст в поле, нажали кнопку ‘Запись в файл’ и получили сообщение об успешной записи. Теперь удалите текст из поля ввода и нажмите ‘Чтение из файла’ — вы получите сообщение об успешном чтении из файла.

Любознательным: Где хранится файл simplefile.txt?

Файл simplefile.txt хранится в вашем смартфоне по адресу data --> data --> [имя пакета] --> files --> simplefile.txt. В нашем случае [имя пакета] = ua.com.prologistic.hellointernalstorage. Доступ к этому файлу можно через File Explorer.

Следите за обновлениями раздела Разработка под Android и подписывайтесь на новые статьи!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *