0

ウィジェットに画像をダウンロードする方法が見つかりません!

私のウィジェットでは、URL、タイトルを使用して AsyncTask json にロードし、TextView にタイトルを表示して、URL から画像をロードする必要があります。

私はこれで試しましたが、画像の読み込みが表示されました

class LoadImages extends AsyncTask<Void, Void, Bitmap>{
        @Override
        protected Bitmap doInBackground(Void... params) {
            Bitmap bitmap = null;
            InputStream in = null;
            BufferedOutputStream out = null;

            try {
                in = new BufferedInputStream(new URL("http://mysite/simple.img").openStream());

                final ByteArrayOutputStream dataStream = new ByteArrayOutputStream();
                out = new BufferedOutputStream(dataStream);
                out.flush();

                final byte[] data = dataStream.toByteArray();
                BitmapFactory.Options options = new BitmapFactory.Options();
                //options.inSampleSize = 1;

                bitmap = BitmapFactory.decodeByteArray(data, 0, data.length,options);
                Log.e("Log", "Yeah");
            } catch (IOException e) {
                Log.e("Log", "Could not load Bitmap from: " + "mysiteg");
            }

            return bitmap;
        }
    }

そして、更新時にこれを呼び出します

        LoadImages load = new LoadImages();
        load.execute();
        Bitmap bitmap = load.get();
        update.setImageViewBitmap(R.id.imageView0, bitmap);
4

1 に答える 1

1

LoadImages クラスの onPostExecute メソッドをオーバーライドし、そのメソッドでビットマップを ImageView に設定する必要があります。LoadImages タスクが完了すると、onPostExcute メソッドが呼び出されます。パフォーマンスを向上させるために、ImageView をラップする WeakReference を検討してください。

于 2012-12-28T11:43:41.690 に答える