问题描述:要利用Spatialite这个数据库来开发Android项目,首先要能够将sqlite数据库文件存到手机的某一文件夹下,因此就涉及到获取系统文件路径和复制数据库文件的操作!
解决方案:具体的解决方案在spatilite-android这个项目中已经给出来了,通过两个类来实现,ActivityHelper和AssetHelper
AssetHelper.CopyAsset(this,
ActivityHelper.getPath(this, true),
getString(R.string.test_db));
static public File getPath(Context ctx, boolean externalStorage) {
if (externalStorage) {
return ctx.getExternalFilesDir(null);
} else {
return ctx.getFilesDir();
}
}
通过不同的设置,我们可以将数据库文件放在不同的路径下!
然后我们需要在AndroidManifest.xml中配置一下项目的权限,保证路径能够获取到!
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
而数据库文件一开始放在项目的什么位置呢?
它可以放在build文件夹下的intermediates中的assets里,不过你也可以在main下建一个assets文件夹,将数据库文件放在其中即可!
然后,我们就可以利用jsqlite中的类来连接数据库,进行相关操作了!