android打包安装时加入外部数据库,我有这个需求所以就写了下面的代码,现在分享给大家
代码如下:
public void createDatabase() {
try
{
// 获得.db文件的绝对路径
String databaseFilename = DATABASE_PATH + DATABASE_FILENAME;
File dir = new File(rootDirectory);
// 如果目录不存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/data/data/org.itec.android.Classroom
//目录中不存在 .db文件,则从res\raw目录中复制这个文件到该目录
if (!(new File(databaseFilename)).exists()){
// 获得封装.db文件的InputStream对象
InputStream is = getResources().openRawResource(R.raw.mydb);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[7168];
int count = 0;
// 开始复制.db文件
while ((count = is.read(buffer)) > 0){
fos.write(buffer, 0, count);
}
fos.close();
is.close();
}
}
catch (Exception e){
}
}