使用sqlite DB中的图像动态填充galleryview

时间:2011-10-12 19:46:25

标签: android sqlite galleryview

我有一个sqlite数据库,有超过2000个低分辨率的缩略图 图片。数据库本身的大小超过100MB。该项目 要求我让照片驻留在数据库而不是 文件路径。

这就是我想做的事情,需要帮助 是我第一次处理图像。我有一个水平的GalleryView 在我的应用程序用户界面中,我想填充从此拉出的图像 动态数据库。我不介意这些图像是否延迟加载 到后台的画廊视图。我读到了某个地方 必须使用ImageAdapter将图像绑定到UI元素 动态。我需要了解这是如何完成的。我从来没有 使用了BaseAdapter类。

谢谢, AB

2 个答案:

答案 0 :(得分:1)

您确实将继承适配器从数据库中拉出图像,将它们转换为Bitmaps或Drawables,然后将图片设置为ImageView并将其添加到您的图库中。

我建议您在开始之前立即停止使用图库。 Gallery有一个错误,它不允许您的适配器正确地回收视图。这意味着当用户每次新图像进入屏幕时滚动图库时,都会创建新的ImageView对象。这是浪费的,并且由于垃圾收集不断运行,当您的画廊滚动时会导致显着的性能下降。

要开始使用适配器,请查看SimpleCursorAdapter并在线搜索有关如何扩展SimpleCursorAdapter的示例。在你的getView方法中,你将把你的图像从数据库中拉出来并将其设置为一个视图,以便向用户显示。

答案 1 :(得分:0)

我能够使用自定义适配器和一个字符串数组来保存SD卡上的图像位置。在完成所有这些之前,我必须从数据库中提取图像并将它们复制到SD卡位置。我正在努力避免这一步骤,因为它加起来只需5-7秒即可复制这些图像。