技术要点:
1. 浏览所有格式的图片
2. 图片缓存到数据库
3. Sqlite数据库的高级应用
4. 文件夹缩图显示
5. 多点触控技术
6. 动画技术
7. 支持超高清图片
8. 源码带有非常详细的中文注释
......
详细介绍:
1. 图片格式
程序能够高效率搜索手机中的所有图片,支持的图片格式有jpeg,jpg,png,gif,bmp等格式,部分代码如下:
---------------------------------------------------------
extens.add(".JPEG");
extens.add(".JPG");
extens.add(".PNG");
extens.add(".GIF");
extens.add(".BMP");
---------------------------------------------------------
2. 图片缓存数据库
为了提高程序的访问的速度,采用了缓存的方式进行数据缓存。图片数据以二进制的方式保存到数据库,然后
通过查询数据库进行访问图片数据,部分代码如下:
---------------------------------------------------------
/*
* 从数据库缓存中读取图片数据
*/
public Bitmap getImageById(int id) throws SQLException
{
//从数据库中查找图片缓存数据
Cursor mCursor =db.query(true, DATABASE_TABLE,
new String[] {KEY_IMAGE}, KEY_ROWID "=" id, null,
null, null, null,null);
//将查询到的数据指向第一条
if(mCursor.moveToFirst()){
try{
//生成输入流
ByteArrayInputStream stream = new ByteArrayInputStream(mCursor.getBlob(0));
mCursor.close();
//生成Bitmap格式数据
return BitmapFactory.decodeStream(stream);
}
catch(Exception err){
mCursor.close();
err.printStackTrace();
}
}
return null;
}
---------------------------------------------------------
3. Sqlite数据库的高级应用
此应用中sqlite数据库不只是用于保存基本信息,而是用于建立缓存,保存浏览的图片数据,保证能够高效访问图片
4. 文件夹缩图显示
对搜索到具有图片的文件夹, 采用生成图片的缩略图作为文件夹的图片
4. 多点触控技术
在浏览图片的过程中,实现了多点触控技术控制图片的浏览
5. 动画技术
在图片浏览的过程中,采用了非常丰富的动画效果浏览图片
6. 支持超高清图片浏览
纵所周知,Android系统对图片空间做了限制,超过8M即会出现内存异常。故在浏览超高清或多图片时常会出现内存异常,针对此情况此套程序堪称完全解决
运行效果:
相册LISTVIEW分类主界面:
相册LISTVIEW分类主界面:
相册图片GridView主界面:
相册图片GridView主界面:
显示高清图片界面:
显示高清图片界面:
显示高清图片界面: