如何從URL加載圖像並將其保存在Android設備的內存中?不要說我使用畢加索或oser laibrary。 我需要: 如果設備獲得互聯網連接我從URL加載圖像到ImageView並將其保存在設備的內存中,否則我需要將其中一個保存圖像加載到imageView。感謝`的幫助從URL加載圖像並保存在內存中android
P.S.對不起,我可以犯一些錯誤,因爲我不太熟悉英語。 這是我的類:
public class ImageManager {
String file_path;
Bitmap bitmap = null;
public Bitmap donwoaledImageFromSD() {
File image = new File(Environment.getExternalStorageDirectory().getPath(),file_path);
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bitmap = BitmapFactory.decodeFile(image.getAbsolutePath(),bmOptions);
return bitmap;
}
private void savebitmap() {
File file = new File("first");
file_path = file.getAbsolutePath();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90,fileOutputStream);
} catch (Exception e) {
e.printStackTrace();
}
}
public void fetchImage(final String url, final ImageView iView) {
new AsyncTask<String, Void, Bitmap>() {
protected Bitmap doInBackground(String... iUrl) {
try {
InputStream in = new URL(url).openStream();
bitmap = BitmapFactory.decodeStream(in);
savebitmap();
} catch (Exception e) {
donwoaledImageFromSD();
}
return bitmap;
}
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
if (iView != null) {
iView.setImageBitmap(result);
}
}
}.execute(url);
}
}
Ÿ不ü使用像滑翔可靠庫,Picaso等 –
它是不準使用標準庫(Glide,Picaso等)的標準之一 –
請提供一個[mcve]演示你已經嘗試了什麼,以及你遇到了什麼具體問題。 – CommonsWare