Скопировать файл в папку ресурсов - PullRequest
9 голосов
/ 06 декабря 2011

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

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

??

Ответы [ 3 ]

13 голосов
/ 06 декабря 2011

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

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

4 голосов
/ 06 декабря 2011

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

1 голос
/ 06 декабря 2011

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

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

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

...