2012-01-23 2 views
2

Я начинаю образец приложения для Android, и одна из вещей, которые мне нужны, - это два файла, хранящиеся в приложении во время установки. Во время выполнения приложение должно иметь возможность читать и записывать эти файлы.Как правильно использовать файловую систему Android?

Это не похоже на какую-то задачу, но я прочитал различные инструкции (включая developer.android.com, O'Reilly Learning Android и некоторые подобные вопросы здесь) и не получил окончательного ключа, который привел к ответь на мой вопрос.

Файлы достаточно малы (100 КБ) для установки с файлом .apk, который, насколько я понял, ведет к хранению данных/данных/packagename. Чтобы разместить файлы там во время установки, я нашел простое решение добавить файлы в папку res/raw в моем проекте Eclipse. Я сделал это, но не смог найти файлы, когда тестировал приложение с эмулятором и DDMS.

Я уверен, что есть большая часть учебника или информация, которую я пропустил, если это так, пожалуйста, удалите ее прямо в мое лицо. В противном случае я был бы признателен за любую помощь, которую вы можете предложить.

ответ

0

Попробуйте this tutorial. Он показывает, как получить InputStream из любого файла, который хранится в папке raw.

+0

Учебник многое помог, спасибо. В частности, ни один ресурс, с которым я столкнулся, до сих пор объяснял разницу между res/raw и активом. –

1

Поместите свои файлы предварительной сборки в каталог /asset вашего приложения.

И при первом запуске приложения скопировать эти файлы в каталог /data/data/<application_package>/files,

Теперь сделайте свой write и read работу этих файлов из внутреннего места хранения.

Примечание: Обязательно лет не разрешается делать операцию записи на файлы, которые находятся в /asset или /res/raw каталогов (, поскольку они доступны только для чтения системы файл).

Кроме того, если файлы находятся в каталоге /res/raw,

вы можете получить эти файлы с помощью InputStream, как,

InputStream ins = getResources().openRawResource(R.raw.file); 
+0

Я, очевидно, пока не достаточно использую R. Спасибо за подсказку. –

Смежные вопросы