ダウンロードして ImageView のソースとして設定する必要がある .png 画像の URL を取得しました。私は今のところ初心者なので、理解できないことがいくつかあります: 1) ファイルをどこに保存しますか? 2) Java コードで ImageView に設定するにはどうすればよいですか? 3) AsyncTask メソッドを正しくオーバーライドするには?
事前に感謝します。どんな種類の助けも高く評価します。
ダウンロードして ImageView のソースとして設定する必要がある .png 画像の URL を取得しました。私は今のところ初心者なので、理解できないことがいくつかあります: 1) ファイルをどこに保存しますか? 2) Java コードで ImageView に設定するにはどうすればよいですか? 3) AsyncTask メソッドを正しくオーバーライドするには?
事前に感謝します。どんな種類の助けも高く評価します。
ダウンロードからpngを明示的に構築できるかどうかはわかりません。ただし、画像をダウンロードして Imageviews に表示するために使用するものは次のとおりです。
まず、イメージをダウンロードします。
protected static byte[] imageByter(Context ctx, String strurl) {
try {
URL url = new URL(urlContactIcon + strurl);
InputStream is = (InputStream) url.getContent();
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = is.read(buffer)) != -1) {
output.write(buffer, 0, bytesRead);
}
return output.toByteArray();
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
次に、BitMap を作成し、それを Imageview に関連付けます。
bytes = imagebyter(this, mUrl);
bm = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
yourImageview.setImageBitmap(bm);
以上です。
編集
実際には、これを行うことでファイルを保存できます:
File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(imagebyter(this, mUrl));
fos.close();
ダウンロードからpngを明示的に構築できます。
bm.compress(Bitmap.CompressFormat.PNG, 100, out);
100
あなたの圧縮です(PNGは一般的にロスレスなので100%です)
out
PNGを保存するファイルへのFileOutputStreamです。