小さな質問がありますが、インターネット経由でアプリを起動するたびに動的に画像を取得し、その画像をUIに表示するために使用することはできますか(xmlファイルを介して)これが達成できるかどうか教えてくださいandroidおよび任意のサンプルコードで。ありがとうございます。それでは、お元気で。
3 に答える
1
この場合の最善の方法は、HTTP GET 経由で画像をロードし、それをオブジェクトに格納して、レイアウトで定義された要素にBitmap
プログラムで挿入することです。ImageView
リソース イメージをオーバーライドできないため、使用できません@drawable
。
ここにloadBitmap
、URL で画像をロードして に保存するメソッドがありますBitmap
。How to load an ImageView by URL in Android?
次のことは、それをに注入することですImageView
:
ImageView image = (ImageView) findViewById(R.id.image);
Bitmap bitmap = loadBitmap("http://www.android.com/images/logo.png");
image.setImageBitmap(bitmap);
于 2012-08-31T06:07:24.627 に答える
0
XMLでは不可能です。
当時インターネットにアクセスできない場合にも備えて、プラセボビットマップを用意することをお勧めします。ダウンロード時にAsyncTaskを使用します。
new GetAndSetBitmap.execute(url)
private class GetAndSetBitmap extends AsyncTask<String, Void, Bitmap>
{
protected Bitmap doInBackground(String... urls)
{
Bitmap bitmap = loadBitmap(url[0]);
// Used the loadBitmap from other answer. Anything goes wrong
// load a local resource with the same dimensions.
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bm)
{
yourImageView.setImageBitMap(bm);
}
}
于 2012-08-31T06:25:37.180 に答える
0
みんなはより良い解決策を見つけました
try {
ImageView i = (ImageView)findViewById(R.id.image);
Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageUrl).getContent());
i.setImageBitmap(bitmap);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
于 2012-08-31T09:48:45.233 に答える