android数据库可以存放到任意位置,然后到相应的位置读取数据库。经常有一些数据在软件发布之前就已经存在,所以获取数据库相当重要。获取的方法有两种:
- 一是通过网络下载数据库,在android使用sqlite3数据库(网络下载文件)一文中介绍了此方法。
- 二是把数据库放入打包文件中,启动程序复制数据库到相应的位置。
下面详细介绍一些第二种方法,把数据库文件放入资源文件中,然后在软件发布的时候,复制到相应的位置即可,下面是复制数据库的相关代码:
public class CopyDatabase {
private Context context;public CopyDatabase(Context context) {
this.context = context;
}public void copyDatabase() {
try {
// 获得expot.db文件的绝对路径
String databaseFilename = context.getFileStreamPath("export.db")
.getPath();
if (!(new File(databaseFilename)).exists()) {
InputStream is = context.getResources().openRawResource(R.raw.export);
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[8192];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.close();
is.close();
}
} catch (Exception e) {
}
}
}
文件存放的位置: