您的位置:首页 > 移动开发 > Android开发

Android中的Cursor关闭问题

2015-08-05 14:10 525 查看
报错信息:
android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

报错原因:
每次查询完成后需要关闭 SQLiteDatabase 对象、databaseHelper 对象、Cursor对象。其中有几个中途return掉了,没有对Cursor进行关闭。
关闭Cursor时最好使用try catch,在finally中进行关闭,保证所有分支都关闭掉。

Cursor cursor = null;
try{
cursor = mContext.getContentResolver().query(uri,null,null,null,null);
if(cursor != null){
cursor.moveToFirst();
//do something
}
}catch(Exception e){
e.printStatckTrace();
}finally{
if(cursor != null){
cursor.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: