我正在写一个Android应用程序,我目前的任务是从URL加载图像并将其显示在ImageView中。 到目前为止我做了什么:我设法下载图像并将其保存为位图。现在,当我想通过
将其添加到意图中时intentRecord.putExtra("Data",(DownloadDataImage) result);
结果是我的位图图像,我得到一个错误,因为位图不可序列化,而.putExtra()需要一个可序列化的输入。 你们知道我的解决方法吗?我不知道如何以适当的方式规避我的问题。
有没有办法在不使用Bitmap的情况下将图像添加到imageView,而是使用其他可序列化类型?或者有一种平滑的方法可以使我的位图可序列化吗?我知道这是可能的,但我不太清楚如何做到这一点。
非常感谢你的帮助!
答案 0 :(得分:1)
我建议你尝试picasso来完成处理/缓存图片的艰苦工作。 在工作区中安装jar后,您只需要一行代码
Picasso.with(上下文).load(IMAGE_URL).into(ImageView的);
答案 1 :(得分:1)
因为Intent附加内容的大小存在上限,所以您应该考虑另一种方法将图像放入ImageView中。
在很高的层面上,这可能是:
正如其他回答者所提到的,有一些框架可以完成很多这样的样板工作。正如droidx所建议的那样,Picasso是一个很容易实现的好解决方案,可能是你最好的选择。
答案 2 :(得分:0)
你可以使用像Universal Image Loader这样的外部库,你不必担心缓存管理和其他事情......