URLから画像を読み込んでアンドロイドのデバイスのメモリに保存するにはどうすればいいですか?私はピカソまたはoserの図書館を使用しないでください。 私は必要があります: デバイスがインターネット接続を取得する場合、ImageViewにURLからイメージをロードし、デバイスのメモリに保存します。そうでなければ、imageViewにイメージを保存する必要があります。助けてくれてありがとう。URLから画像を読み込んでアンドロイドのメモリに保存します
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);
}
}
Y uはグライドのような信頼性の高いライブラリを使用していけない:あなたは
getBitmapFromURL()
を呼び出す必要がありますのでアップデート2
方法
getBitmapFromURL()
が、ImageView
は、例えば、このよう、UIスレッドから更新されなければなりません、Picasoなど –スタンドアートライブラリー(グライド、ピカソなど)を使用しない基準の1つです –
あなたが試したことと遭遇した具体的な問題を示す[mcve]を提供してください。 – CommonsWare