插入前的数据库创建

时间:2016-09-16 21:06:41

标签: android sqlite android-contentprovider

我有一个Android应用程序,我在其中使用Content Provider在数据库之上。但是,我看到只有当我通过Insert of Content Provider在数据库中插入第一条记录时才会创建数据库。在这种情况下,如果数据库创建中存在错误,则在插入记录之前该错误将保持挂起状态。

我想知道在第一次访问应用程序时是否可以创建数据库,因此,数据库创建中的任何可能错误都会出现在早期阶段。

1 个答案:

答案 0 :(得分:1)

在我们的应用程序中,我们会显示一个启动画面,专门用于创建数据库并初始化一些应用程序单例。我推荐类似的东西。

您可以通过调用SQLiteDatabase#getWritableDatabase或同等版本来启动db(on)Create或db(on)升级。请记住在后台线程上执行此操作并使用标准事件/回调来了解此(同步)方法何时完成。

如果出现问题,那么您可以在启动期间捕获该异常,但是您无法通过它的声音真正恢复,因此您最好不要捕获任何异常并确保您的关键初始化代码是防弹的