1.图片下载并缓存
new Thread() {// 下载图片
public void run() {
try {
URL url = new URL(imgUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.connect();
if (connection.getResponseCode() == 200) {
InputStream iStream = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(iStream);
// 2.缓存bitmap至/data/data/packageName/cache/文件夹中
String fileName = imgUrl;
String path = Environment.getExternalStorageDirectory().getPath() + "/splash";
File file = new File(path);
// 文件夹不存在,则创建它
if (!file.exists()) {
file.mkdir();
}
FileOutputStream fos = new FileOutputStream(path + "/123.png");
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.close();
iStream.close();
Log.i("xxx", "下载成功");
}
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
2.从本地获取图片
private Bitmap getBitmapFromFile() {
Bitmap bitmap = null;
String path = Environment.getExternalStorageDirectory().getPath() + "/splash";
try {
FileInputStream fis = new FileInputStream(path + "/123.png");
bitmap = BitmapFactory.decodeStream(fis);
fis.close();
} catch (Exception e) {
e.printStackTrace();
bitmap = null;
}
return bitmap;
}