Копировать файл в папку assets

после поиска 1 час я не нашел никакого решения моей проблемы.

Я хочу переместить файл из sdcard в папку assets, а также перезаписать существующий файл в папке assets (оба файла являются базой данных sqlite имеют одинаковое имя с небольшой разницей в данных )

??

3 ответов


на самом деле поведение андроида .apk файл читается только так структура каталогов, которые находятся в этом файле apk следует то же самое, поэтому никто не может написать эти файлы или внести изменения в них во время выполнения,поэтому вы не можете внести изменения в /asset folder во время выполнения. вы можете прочитать файл из него (означает копирование файлов, которые доступны в активе любому internal storage или /sdcard но не писать его наоборот)

его применить ко всем каталогам, которые встраивать. файлы apk. Согласно документам.


папка Assets недоступна для записи, она только читается, поэтому вы не можете скопировать из sdcard в активы, да, вы можете скопировать из активов в sdcard


Если вы хотите, чтобы другие приложения не имели доступа к вашей базе данных, то вы можете сделать это

  1. скачать базу данных с сайта. создайте временную базу данных также в каталоге app.
  2. getDatabasePath() это даст вам путь фиктивной базы данных, которую вы создали, теперь замените ее на ту, которую вы загрузили.

PS.: Пользователь и приложения, имеющие доступ root, все еще могут получить к нему доступ, и вы не можете ничего сделать в этом сценарии