//调用gallery3d打开指定图片文件夹
private void callGallery(String path, int type, String title)
{
Uri uri = Images.Media.INTERNAL_CONTENT_URI;
uri = uri.buildUpon()
.appendQueryParameter("bucketId", getHashcode(path)).build();
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.putExtra("windowTitle", title);
intent.putExtra("mediaTypes", type);
startActivity(intent);
}
private String getHashcode(String path)
{
return String.valueOf(path.toLowerCase().hashCode());
}
gallery3D是在cacheService中处理
首先将数据库中的路径加载到缓存当中,然后把缓存中的数据放到DataInputStream中处理,这是有问题,因为DataInputStream.writelong写会出问题的,我改成用一个list存起来,在writeSetsToCache方法中, 将dos.writeLong(set.mId);
改成buckidList.add(set.mId);
Utils.writeUTF(dos, set.mName);
改成map.put(i, set.mName);map是新增的一个全局变量来保存name的,因为dos.writeUTF会报异常,google这个地方应该没有好好测试
加载的时候在loadMediaSet方法中, 将final long setId = dis.readLong();改成
final long setId = buckidList.get(i);
mediaSet.mName = Utils.readUTF(dis);改成mediaSet.mName = map.get(i);
这样就ok了
分享到:
相关推荐
6.1.3 存储至SD卡 227 6.1.4 读取资源文件 228 6.2 SharePreference 229 6.3 SQLite 233 6.3.1 创建数据库 234 6.3.2 SQLiteOpenHelper 236 6.3.3 创建触发器 240 6.3.4 创建索引 241 6.3.5 创建视图 241 6.3.6 操作...
1.3.7 使用mksdcard管理虚拟SD卡 19 1.4 开始第一个Android应用 20 1.4.1 使用Eclipse开发第一个 Android应用 20 1.4.2 通过ADT运行Android应用 23 1.5 Android应用结构分析 24 1.5.1 创建一个Android...
19.3.7 为整个SD卡触发MediaScanner 19.3.8 参考资料 19.4 小结 第20章 使用OpenGL进行3D图形编程 20.1 了解OpenGL的历史和背景 20.1.1 OpenGL ES 20.1.2 OpenGL ES与Java ME 20.1.3 M3G:另...
19.3.7 为整个SD卡触发MediaScanner 19.3.8 参考资料 19.4 小结 第20章 使用OpenGL进行3D图形编程 20.1 了解OpenGL的历史和背景 20.1.1 OpenGL ES 20.1.2 OpenGL ES与Java ME 20.1.3 M3G:另...