在Android中使用ContentResolver查询系统数据库时使用外键查询与distinct的小技巧

本文介绍了在Android开发中,如何使用ContentResolver查询MediaStore.Image数据库时,处理外键查询和去除重复项的问题。开发者面临在查询时去除相同项和通过外键获取缩略图信息的挑战,通过巧妙的字符串拼接方法解决了这个问题。
摘要由CSDN通过智能技术生成

这几天自己在做一个小的图库项目,使用到了Android系统提供的MediaStore.Image数据库。在查询的时候发现有的时候需要去除相同项,有的时候需要通过外键查询缩略图的表。但是通过ContentResolver的query(Uri uri, String[] projection,String selection, String[] selectionArgs, String sortOrder);很难直接做到这一点,找了很久也找不到解决办法,最后还是灵光一现,想出了一个字符串拼接的方法。一下就是此方法的实现:

package com.zzy.cloudpic.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;

import com.zzy.cloudpic.bean.CoverInfo;
import com.zzy.cloudpic.bean.ImageInfo;
import com.zzy.cloudpic.bean.ThumbInfo;

public class MediaStoreDao {

	public final static String[] IMAGE_INFO = { MediaStore.Images.Media._ID,
			MediaStore.Images.Media.ORIENTATION, MediaStore.Images.Media.DATE_ADDED,
			MediaStore.Images.Media.DATE_MODIFIED, MediaStore.Images.Media.DATE_TAKEN,
			MediaStore.Images.Media.LATITUDE, MediaStore.Images.Media.LONGITUDE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值