cursor-为什么 cusor 是 null?

问题描述

为什么 cusor 是 null?

我使用下面的代码来获取图像路径。并且保存到字符串数组路径中。

String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA, MediaStore.Images.ImageColumns.DATA};
Cursor cursor = managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.Media._ID);
int count = cursor.getCount();
int image_column_index = cursor.getColumnIndex(MediaStore.Images.Media._ID);
int image_path_index = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
int i;
for(i = 0; i < count; i++) {
cursor.moveToPosition(i);
int id = cursor.getInt(image_column_index);
pat[i[ = cursor.getString(image_path_index);
}

然后我用下面的代码来获取缩略图。

int i;
for(i = 0; i < count; i++) {
String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA};
            Cursor cursor = act.managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, MediaStore.Images.Media.DATA + "=?", new String[] {path[i]}, MediaStore.Images.Media._ID); }

但是当文件数量很大时(差不多1000个文件),cursor就显示null。我确信它不是由路径名称导致的错误,那么是什么原因导致的?

解决方案

添加 cursor.close();

int i;
for(i = 0; i < count; i++) {
String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA};
Cursor cursor = act.managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, MediaStore.Images.Media.DATA + "=?", new String[] {path[i]}, MediaStore.Images.Media._ID);
cursor.close();
}
时间: 2024-11-10 00:46:57

cursor-为什么 cusor 是 null?的相关文章

webview上传图片时cursor总为null

问题描述 webview上传图片时cursor总为null String[] pojo = {MediaStore.Images.Media.DATA}; Cursor cursor = managedQuery(photoUri, pojo, null, null,null); 请问下cursor 取出来是为什么是null,文件地址 file:///storage/sdcard0/tencent/MobileQQ/head/_hd/005B85A678CE1069E8C077942C67517

sqlite-空数据库报出错误信息

问题描述 空数据库报出错误信息 public boolean isEmpty(){ if (database == null) { database = dbHelper.getReadableDatabase(); // or similar method that } Cursor cursor = database.rawQuery(""SELECT COUNT(*) FROM "" + DatabaseHelper.TABLE_ENCOURAGEMENTS

andriod彩信接受

public class SmsPage extends ListActivity{ private final String TAG="SmsPage"; private final Uri CONTENT_URI = Uri.parse("content://mms/inbox"); //查询彩信收件箱 private final Uri CONTENT_URI_PART = Uri.parse("content://mms/part");

android-在一个连接选择器中似乎不能解决一个语法错误

问题描述 在一个连接选择器中似乎不能解决一个语法错误 大家好,我在一行代码中得到了一个语法错误,而且我找不到错误在哪.我学android的时间不长但是我很确定我是完全按照例子来的但是仍然不能避免这个错误.代码是写一个连接选择器,所以我可以用一段代码来写一个edittext然后用一个流媒体协议发送一个图片给哪个数字.我已经在我得到错误的地方做了标记,但是因为这个错误没有解决,我仍然不能得到我想要的效果. break;case R.id.contact: Intent k = new Intent(

JavaScript实现AJAX的拖动效果

ajax|javascript <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312&quo

Result Sets from Stored Procedures In Oracle

oracle Result Sets from Stored Procedures In OracleA frequently asked question is: I'd like to know whether ORACLE supports procedures (functions) which returns result sets. The answer is most definitely yes.  In short, it'll look like this:   create

T-SQL关键字集锦

关键字 下面这此词都是T-SQL语句中的关键字,在你写SQL语句,存储过程,触发器或字段命名等时要避免使用这些词.ADD EXIT PRIMARY ALL FETCH PRINT ALTER FILE PRIVILEGES AND FILLFACTOR PROC ANY FLOPPY PROCEDURE AS FOR PROCESSEXIT ASC FOREIGN PUBLIC AUTHORIZATION FREETEXT RAISERROR AVG FREETEXTTABLE READ BAC

android中傻瓜式建立数据库及高效数据库操作代码的编写

初学者在学android的时候,看到书上的sqlite数据库编程怎么有点复杂. 初学阶段的难点: 建立数据库表字段(field)数据类型(text,interge)选择较多,考虑较多. 在activity中数据更新插入要考虑的约束条件好多 老是访问数据库的数据,每次都要在activity中声明一个cursor并且通过一大堆代码来获取cursor感觉有点繁琐. 对于上述的难点解决方式如下 1.数据类型都用text(除了id编号) 2.在activity中无论插入或更新都只用DB文件中同一个函数实现

Android中如何实现Socket大文件断点上传

什么是Socket? 所谓Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信连的句柄,应用程序通常通过"套接字"向网络发送请求或者应答网络请求,它就是网络通信过程中端点的抽象表示.它主要包括以下两个协议: TCP (Transmission Control Protocol 传输控制协议):传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据.TCP提供超时重发,丢弃重