android - 使用来自 sqlite DB 的图像动态填充 galleryview

标签 android sqlite galleryview

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

这是我想做的,需要帮助 是我第一次处理图像。我有一个水平的 GalleryView 在我的应用程序用户界面中,我想用从中提取的图像填充 数据库动态。我不介意这些图像是否延迟加载 到背景中的图库 View 。我在某处读到我会 必须使用 ImageAdapter 将图像绑定(bind)到 UI 元素 动态地。我需要了解这是如何完成的。我从来没有 使用了 BaseAdapter 类。

谢谢, AB

最佳答案

您确实会子类化适配器以将图像从您的数据库中拉出,将它们转换为位图或可绘制对象,然后将您的图片设置为 ImageView 并将其添加到您的图库中。

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

要开始使用您的适配器,请查看 SimpleCursorAdapter并在网上搜索有关如何扩展 SimpleCursorAdapter 的示例。在您的 getView 方法中,您将从数据库中拉出您的图像并将其设置到一个 View 中以显示给用户。

关于android - 使用来自 sqlite DB 的图像动态填充 galleryview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7745659/

相关文章:

android - Cordova 不创建 AndroidManifest.xml

c# - 使用 LIKE 表达式时 SQLite 中的土耳其字符

android - 突出显示选定的 GalleryView 项目

licensing - 我在网站的哪里包含他人作品的版权声明?

java - 更新版本并将共享首选项转储到数据库中

javascript - jQuery galleryview 在鼠标移开时开始自动播放

android - Firebase Firestore toObject 在 bool 属性映射上失败

android - 如何链接填充 ListView 中每个联系人的复选框?

javascript - 如何像 React.js 一样在 Java 中进行实时值更改

python - 如何将我的 Flask 应用程序连接到我的 SQLite3 数据库?