将现有的SQLite数据库导入Android应用程序

Wih*_*rie 2 sqlite android android-sqlite

所以我知道有人问过类似的问题,但我找不到适合我的具体情况的东西。

我有一个创建数据库并填充数据库等的应用程序,但是我在设备上没有超级用户访问权限,所以这是我的问题。我需要使用一些值填充此数据库,然后将其导入到我的应用程序/设备中。

如果我具有root用户访问权限,则可以直接替换/data/data/com.my.application/databases文件夹中的数据库,但是由于我没有root用户访问权限,因此我需要能够导入更改后的数据库此位置并替换标准位置。

谁能帮我一些代码或如何将数据库导入此文件夹的示例?我只需要能够导入和替换现有的。

谢谢,Wihan

axi*_*tjz 5

您可以使用此库在设备上使用导入的数据库:

https://github.com/jgilfelt/android-sqlite-asset-helper

如文档所述,您只需要将数据库文件放在资产文件夹下的名为databases的目录下 /assets/databases/database.db

然后制作一个从SQLiteAssetHelper这样扩展的DBHelper类:

public class DBHelper extends SQLiteAssetHelper {

    private static final String DATABASE_NAME = "example.db";
    private static final int DATABASE_VERSION = 1;

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

}
Run Code Online (Sandbox Code Playgroud)

现在,您可以通过内容提供商和所有内容访问数据。

您也可以使用http://sqlitebrowser.org/在计算机上创建预加载的数据库。

希望能帮助到你。