2

小さな質問がありますが、インターネット経由でアプリを起動するたびに動的に画像を取得し、その画像をUIに表示するために使用することはできますか(xmlファイルを介して)これが達成できるかどうか教えてくださいandroidおよび任意のサンプルコードで。ありがとうございます。それでは、お元気で。

4

3 に答える 3

1

この場合の最善の方法は、HTTP GET 経由で画像をロードし、それをオブジェクトに格納して、レイアウトで定義された要素にBitmapプログラムで挿入することです。ImageView

リソース イメージをオーバーライドできないため、使用できません@drawable

ここにloadBitmap、URL で画像をロードして に保存するメソッドがありますBitmapHow 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 に答える