Android-файл IO

1

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

то, что я хочу сделать, это прочитать файл 2 символа (должен быть числом) за раз, который затем будет контактирован с строкой [str] (с управляющим символом), чтобы я мог привязать эту строку к R. drawable [R.drawable.str], чтобы вернуться и отобразить правильное изображение.

более конкретно - сделать строку, чтобы дать R.drawable даже возможное решение так, как я хочу, или мне нужно танцевать вокруг него?

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

есть ли что-то конкретное, что мне нужно для чтения из файла в системе в "известном каталоге"?

Можно ли использовать carrage-return-line-feed при wtrting моих текстовых файлов и мне нужно сделать что-либо помимо управляющего кода \n, чтобы управлять им, поскольку принудительные возвращения сделают его более читаемым и могут добавить еще один уровень проверки ошибок для предотвращения модификации и ошибок чтения системы (если они возникают)?

Теги:
file-io
r.java-file

1 ответ

1
Лучший ответ

В сценарии, в котором вы хотите предоставить некоторые текстовые файлы с приложением, вы можете включить их в каталог project/res/assets, а затем, возможно, скопировать их в "первый запуск" в каталог приложений/файлов в внутреннем телефоне память.

Каталог/files также будет хорошим местом для хранения любых файлов, создаваемых пользователем, если вы не хотите, чтобы у них был прямой доступ к самим файлам (доступ к внутренней памяти возможен только в том случае, если у пользователя есть root-доступ к телефон).

Что касается конкатенации текстовой строки для доступа к ресурсам, это не будет работать, поскольку все идентификаторы R.foo.bar фактически являются текстовыми "ключами" для целых идентификаторов. Другими словами, R.drawable.my_icon, например, существует только как "строка" в среде компилятора и преобразуется в целое число во время сборки.

Вы можете подумать о том, чтобы предоставить чертежи с именами, такими как image_01, image_02, и поместить их в свой каталог ресурсов - вы могли бы затем обратиться к ним/получить доступ к ним по имени файла, а не по идентификатору ресурса.

РЕДАКТИРОВАТЬ:. Пример копирования файлов из каталога ресурсов на телефонную SD-карту см. в ответе на этот вопрос... Android: как сделать скопировать файлы в "активы" на SD-карту?

Чтобы скопировать во внутренний каталог/файл, вы должны заменить эту строку...

out = new FileOutputStream("/sdcard/" + files[i]);

... с чем-то похожим на...

out = Context.openFileOutput(files[i], MODE_PRIVATE);

openFileOutput(...) автоматически создает файл, который можно записать в каталог приложений/файлов. Аналогично, на более позднем этапе вы можете использовать openFileInput(...) для чтения из каталога/files.

  • 0
    есть ли какой-нибудь способ, которым я мог бы увидеть какой-то учебник, пост в блоге, dev-note об этом, если есть такой, который имеет смысл, но я не знаю, как на самом деле это сделать.
  • 0
    @ gardian06: см. часть с надписью EDIT в моем ответе
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню