我查询手机内的视频在后台显示为0条数据
@Override
public void initData() {
AsyncQueryHandler asyncQueryHandler=new AsyncQueryHandler(getActivity().getContentResolver()) {
@Override
protected void onQueryComplete(int token, Object cookie, Cursor cursor) {
Utils.printCursor(cursor);
}
};
int token = 0; // 相当于Message.what
Object cookie = null; // 相当于Message.obj
Uri uri = MediaStore.Video.Media.INTERNAL_CONTENT_URI;
String[] projection = { // 指定要查询哪些列
MediaStore.Video.Media._ID, MediaStore.Video.Media.TITLE,
MediaStore.Video.Media.DURATION, MediaStore.Video.Media.SIZE, MediaStore.Video.Media.DATA,
};
String selection = null; // 指定查询条件
String[] selectionArgs = null; // 指定查询条件中的参数
String orderBy = MediaStore.Video.Media.TITLE + " ASC"; // 指定为升序
asyncQueryHandler.startQuery(token, cookie, uri, projection, selection, selectionArgs, orderBy);
}
下面是Utils里面的方法
/**![图片描述][1]
* 遍历Cursor中所有的记录
* @param cursor
*/
public static void printCursor(Cursor cursor) {
if (cursor == null) {
return ;
}
Logger.i(Utils.class, "共有" + cursor.getCount() + "条数据");
// 遍历所有的行
while (cursor.moveToNext()) {
// 遍历所有的列
Logger.i(Utils.class, "---------------------");
for (int i = 0; i < cursor.getColumnCount(); i++) {
String columnName = cursor.getColumnName(i);
String value = cursor.getString(i);
Logger.i(Utils.class, columnName + "=" + value);
}
}
}