Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:从SQL脚本文件创建数据库,而不将数据返回到“活动”_Android_Database_Sqlite_Installation - Fatal编程技术网

Android:从SQL脚本文件创建数据库,而不将数据返回到“活动”

Android:从SQL脚本文件创建数据库,而不将数据返回到“活动”,android,database,sqlite,installation,Android,Database,Sqlite,Installation,我已经做了家庭作业;我知道从活动中查询SQLite数据库的所有方法 问题是,所有示例都假设我希望将数据从db“加载”到第一个活动屏幕上 但当我的应用程序的第一个活动被加载时,我不想从数据库中获取任何数据;我只想: (1) 检查数据库文件是否已经创建(如果安装例程已经运行) (2) 如果数据库存在,则加载第二个活动(使用ContentProvider/Loader等),以便用户可以开始添加数据 或 (2) 如果db不存在,在第一个活动中运行设置例程(从*.sql文件创建db/表,并在需要时插入虚拟

我已经做了家庭作业;我知道从活动中查询SQLite数据库的所有方法

问题是,所有示例都假设我希望将数据从db“加载”到第一个活动屏幕上

但当我的应用程序的第一个活动被加载时,我不想从数据库中获取任何数据;我只想:

(1) 检查数据库文件是否已经创建(如果安装例程已经运行)

(2) 如果数据库存在,则加载第二个活动(使用ContentProvider/Loader等),以便用户可以开始添加数据

(2) 如果db不存在,在第一个活动中运行设置例程(从*.sql文件创建db/表,并在需要时插入虚拟数据)…然后加载第二个活动(使用ContentProvider/加载程序等),以便用户可以开始添加数据

对我来说,创建db/表的简单操作不需要ContentProvider和一堆游标和加载器的所有开销


有人能给我指出一个简单的解决办法吗?谢谢

雅库布的链接很有帮助


…我所做的是在DBConstants类中创建公共静态最终字符串数组,该类包含在第一次运行时创建数据库的命令。

以防万一:我不想引入预先制作的db文件的原因是,我希望使用与安装应用程序的Android设备相同的引擎版本创建db。对于Yaqub:非常感谢。你链接中的帖子几乎回答了我所有的问题!我还有一个问题:是否可以/明智地从sql脚本文件(*.sql)创建数据库?是的,为什么不可以。您需要将其存储在资产中的某个位置。您需要阅读此脚本并运行它。现在,无论何时需要调用数据库,如果数据库不存在,则需要首先创建数据库。@YaqubAhmad问题是:我可以在一次调用中运行*.sql文件,还是必须逐行将其提供给类?