TNM*_*TNM 4 sqlite android transactions ormlite android-asynctask
在我的Android应用程序中,运行相对较长的AsyncTask我正在运行以在应用程序启动时更新数据库.如果用户在任务完成之前退出应用程序,我需要将其包装在事务中以回滚.但是,由于在事务中包装代码,因此阻止了ui,直到任务完成.为什么会这样,因为代码已经在一个单独的线程中运行了?
我正在使用ORMLite,这基本上是事务的包装器,更新db的代码进入call()..,在添加代码以更新事务中的db之前没有锁定ui ...
public ConnectionSource source;
@Override
protected Boolean doInBackground(Context... params) {
try {
TransactionManager.callInTransaction(source, new Callable<Void>() {
public Void call() throws Exception {
return null;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4124 次 |
| 最近记录: |