gpt4 book ai didi

java - 如何获取从互联网上获取的 Drawable 并将其保存到我的 Android 设备的缓存目录中?

转载 作者:搜寻专家 更新时间:2023-11-01 09:03:52 25 4
gpt4 key购买 nike

这是我的代码...您会看到我想将 Drawable d 保存到 File f 位置的位置:

    ImageView imgView = (ImageView)header.findViewById(R.id.imvCover);
File cacheDir = this.getCacheDir();
File f = new File(cacheDir, itemDict.get("Barcode") + ".jpg");
if (f.exists())
{
Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath());
imgView.setImageBitmap(bmp);
}
else
{
String url = (String)itemDict.get("imageURL");
InputStream is = null;
try {
is = (InputStream) new URL(url).getContent();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

Drawable d = Drawable.createFromStream(is, "src");
if (d != null)
{
imgView.setImageDrawable(d);

// TODO: save the drawable into the cache directory
}
else
{
imgView.setImageResource(R.drawable.cam);
}
}

如何将 Drawable 保存为 .jpg?

最佳答案

使用Bitmap.compress(...) ,像这样:

try {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream("/someLocation/someFileName.jpg"));
} catch (Exception e) {
//TODO: Handle exception
}

有关如何获取缓存目录路径的示例,请参阅此 SO 答案:

android-download-images-from-server-and-save-them-on-device-cache

DrawableBitmap 的转换:

how-to-convert-a-drawable-to-a-bitmap

关于java - 如何获取从互联网上获取的 Drawable 并将其保存到我的 Android 设备的缓存目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com