引用:http://blog.csdn.net/boyupeng/article/details/6336601
一直在零零碎碎的用着SQLite,包括什么Cursor SQLiteDatabase SQLiteOpenHelper ContentValues ContentProvider等等
但是每次回头使用总是觉得有点乱,今天总结一下,献给和我一样的小菜鸟。
先来一个引子:
在android DDMS里面data/data/com.android.providers.media的数据库external-cef1c12.db里面存放了两个table,
其中Media放的是真正地图片,Thumbnails放的是图片的缩略图,缩略图是android系统自动生成的
下面两段代码时读取缩略图和图片
- /**
- * 读取缩略图
- */
- private ArrayList<PhotoItem> getPhotosInfo()
- {
- ArrayList<PhotoItem> photolist = new ArrayList<PhotoItem>();
- Cursor cursor = getContentResolver().query(
- Thumbnails.EXTERNAL_CONTENT_URI, null, null, null, null);
- //Thumbnails.EXTERNAL_CONTENT_URI存放的是缩略图的url
- if (cursor.moveToFirst())
- {
- do
- {
- PhotoItem pi = new PhotoItem();
- pi.ImageID = cursor.getInt(cursor
- .getColumnIndex(Thumbnails.IMAGE_ID));
- pi.photoPath = cursor.getString(cursor
- .getColumnIndex(Thumbnails.DATA));
- photolist.add(pi);
- }
- while (cursor.moveToNext());
- }
- cursor.close();
- return photolist;
- }
- /**
- * 读取图片
- */
- private String getRealPath(int id)
- {
- String path = null;
- Cursor cursor = getContentResolver().query(Media.EXTERNAL_CONTENT_URI,
- null, Media._ID + " = " + id, null, null);
- //Media.EXTERNAL_CONTENT_URI存放的是图片的url
- if (cursor.moveToFirst())
- {
- path = cursor.getString(cursor.getColumnIndex(Media.DATA));
- }
- cursor.close();
- return path;