Android开发新手在开发过程中遇到的一点疑惑,希望大神们帮忙引一下路。
比方说,我App在首次安装的时候需要创建一个sqlite数据库
我的处理方法是在launcher启动页的时候执行这个创建方法
但是我觉得创建sqlite数据库是个耗时操作,我需要把它放在子线程里面执行
那么问题来了:
如果一旦出现在子线程里创建数据库失败的情况,我如何保证后面的方法能够顺利执行呢?
当我创建数据库的时候,launcher可能已经跳转到mainActivity了,或者已经调到其他页面了,甚至已经准备执行写数据进数据库的操作了,但是这个时候我可以判断数据库是否存在,如果不存在我可以重新创建,但是我不可能在所有需要进行数据库操作的地方都进行重新创建数据库的操作
那么,我如何保证子线程里的操作结果100%完成?
而且在launcher里面还有其他几个操作,都需要在子线程里完成。
求解。
天蓬老师2017-05-24 11:40:12
1.封装一下瑟
2.比如说封装一个DBUtils层。
bool checkDB(){
return ..;
}
Beans DBUtils.query(callback){
if(checkDb){
callback(data);
}
}