图片从web下载后如何缓存?
发布于 2010-10-09 04:08:05
现在的笑点是:使用系统缓存。
URL url = new URL(strUrl);
URLConnection connection = url.openConnection();
connection.setUseCaches(true);
Object response = connection.getContent();
if (response instanceof Bitmap) {
Bitmap bitmap = (Bitmap)response;
}
提供内存和闪存rom缓存,与浏览器共享。
grr。我希望在我写自己的缓存管理器之前有人告诉我。
发布于 2010-11-21 09:27:24
关于上面优雅的connection.setUseCaches
解决方案:可悲的是,如果没有一些额外的努力,它将无法工作。您将需要使用ResponseCache.setDefault
安装ResponseCache
。否则,HttpURLConnection
将静默忽略setUseCaches(true)
位。
有关详细信息,请参阅FileResponseCache.java
顶部的注释:
(我会在评论中发表这篇文章,但我显然没有足够的SO karma。)
发布于 2009-12-22 21:13:12
要下载图像并保存到存储卡,您可以这样做。
//First create a new URL object
URL url = new URL("http://www.google.co.uk/logos/holiday09_2.gif")
//Next create a file, the example below will save to the SDCARD using JPEG format
File file = new File("/sdcard/example.jpg");
//Next create a Bitmap object and download the image to bitmap
Bitmap bitmap = BitmapFactory.decodeStream(url.openStream());
//Finally compress the bitmap, saving to the file previously created
bitmap.compress(CompressFormat.JPEG, 100, new FileOutputStream(file));
不要忘记将Internet权限添加到您的清单中:
<uses-permission android:name="android.permission.INTERNET" />
https://stackoverflow.com/questions/1945201
复制相似问题