【发布时间】:2020-12-21 05:02:20
【问题描述】:
我目前正在尝试将用户选择的任何图像保存到房间数据库中,看起来唯一的方法是首先将其保存为位图。但是,我不确定我会如何做到这一点。
这是我现在拥有的代码:它让用户选择一个图像并在之后将其显示在一个图像视图中。但是,我不知道如何将我的data?.data 转换为位图。
如果这不是一个很好的问题,我深表歉意,我对处理 Android 应用程序中的图像和图像类型非常陌生。任何帮助将不胜感激!
// Opens gallery when image button clicked, gets image
view.image_et.setOnClickListener {
readStorageTask()
//Intent to pick image
val intent = Intent(Intent.ACTION_PICK)
intent.type = "image/*"
startActivityForResult(intent, 1001)
}
// Handle result of picked image
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (resultCode == Activity.RESULT_OK && requestCode == 1001) {
preview_image.setImageURI(data?.data)
}
}
我已经看到一些 StackOverflow 问题类似于我在 Java 中处理相同的问题,但我尝试过的问题对我不起作用。任何帮助将不胜感激!
【问题讨论】:
-
无需创建位图。您可以使用此类 gist.github.com/jaisoni/4d4e20409849dd3cfa12ee15895124a6 查找图像的实际路径,并使用 Picasso 或其他库从实际路径显示预览
-
@JaiprakashSoni 感谢您的评论!我以前见过一些这样的事情,但我希望图像保留在我的应用程序中,即使实际图像已从用户的手机中删除。