2016-07-26 82 views
0

如何重新复制存储在android studio项目的assets文件夹中的数据库?如何更新资产文件夹中存储的数据库Android

我使用的是Android的SQLite的资产助手类

package com.acorney.migration; 

import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteQueryBuilder; 

import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; 

/** 
* Created by acorney on 25/07/2016. 
*/ 
public class databaseHelper extends SQLiteAssetHelper { 

private static final String TAG = SQLiteAssetHelper.class.getSimpleName(); 
private static final String DATABASE_NAME = "peopleDatabase.db"; 
private static final int DATABASE_VERSION = 1; 

public databaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

而且我在MainActivity创建它的一个实例

databaseHelper dataB; 
dataB = new databaseHelper(this); 

这一点,我认为,造成数据一个空数据库/数据并将数据库从资产复制到它

但是,我已经从应用程序外部(使用SQLite浏览器)更新数据库并将其保存回资产文件夹。 如何将数据库的更新复制到应用程序中?

最终,应用程序需要读取和写入到该数据库 - 这样的变化在资产文件夹

而且,当应用程序启动时,应用程序应该只创建一个新的实例保存到数据库资产文件夹中的数据库。

基本上 - 我希望在资产文件夹中发生所有数据库更改 - 这是可以完成的事情吗?

谢谢您的帮助

+0

卸载你的应用程序并重新安装它 – Nisarg

+0

有没有一种方法可以通过代码完成,以便它在每次应用程序启动时都会发生? –

+0

不可以通过代码应用更改 – Nisarg

回答

0

不,这是不可能的。 资产文件夹是二进制APK的一部分,在运行时无法更改。你只能在编译时修改它。

+0

有没有办法强制它重新编译? –

+0

奇怪的问题。意识到代码已经在PC上编译。 – greenapps

相关问题