Да, вы должны быть в состоянии использовать openRawResource
для копирования двоичного файла из папки с исходными ресурсами на устройство.
Исходя из примера кода в демонстрационных версиях API (content / ReadAsset), вы сможете использовать вариант следующего фрагмента кода для чтения данных файла базы данных.
InputStream ins = getResources().openRawResource(R.raw.my_db_file);
ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
int size = 0;
// Read the entire resource into a local byte buffer.
byte[] buffer = new byte[1024];
while((size=ins.read(buffer,0,1024))>=0){
outputStream.write(buffer,0,size);
}
ins.close();
buffer=outputStream.toByteArray();
Теперь копия вашего файла должна существовать в buffer
, поэтому вы можете использовать FileOutputStream
для сохранения буфера в новый файл.
FileOutputStream fos = new FileOutputStream("mycopy.db");
fos.write(buffer);
fos.close();