我已经看到了大量相关的问题,但实际上没有人回答这个问题,许多人只是使用未定义变量的上下文代码片段。
我需要将图像存储在数据库中(据我所知,我应该使用Base64编码的字符串),并将它们用作android代码中的Image对象。
根据我的设计,我需要将Image转换为Bitmap,然后Bitmap可以转换为Base64字符串。但我不能为我的生活弄清楚如何将图像转换为位图。任何帮助表示赞赏。
编辑:虽然其他问题确实将图像从文件位置转换为字符串,但我没有文件位置。该图像仅作为android.media.Image的一个实例存储,我不知道如何使用文件路径或任何类似的方式访问它。
编辑2:好的,所以这是我的设置:图像将作为Base64编码的字符串在Firebase数据库中存储。当我需要它们时,我会从那里拉出字符串并将其转换为Image对象,这只是我暂时拥有的一个变量。它们永远不会在本地存储,只有它们在实际的应用程序上才是Image对象。
答案 0 :(得分:1)
只需将base64字符串转换为位图,然后使用下面的代码
将该位图加载到imageview中byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
image.setImageBitmap(decodedByte);