0

現在、サーバーディレクトリに保存されているイメージをダウンロードしようとしています。しかし、その画像が別の画像に置き換えられても、アプリがその画像を表示する理由はわかりません。

つまり、最初にimage1をアップロードし、次にimage1をロードできます。image1がimage2に置き換えられても、アプリは引き続きimage1を表示します。

私のエラーはどこにあるのかわかりません。それはコードまたは他の理由にありますか?助けが必要でした!

以下は私のコードです:

button1.setOnClickListener(new OnClickListener() {
    public void onClick(View view) {
        new download().execute();
    }
});

class download extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... path) {
        String outPut = null;
        String s = "http://url/image/img_123.jpg";
        URL myFileUrl = null;
        try {
            myFileUrl = new URL(s);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }

        try {
            HttpURLConnection conn = (HttpURLConnection) myFileUrl
                    .openConnection();
            conn.setDoInput(true);
            conn.connect();
            int length = conn.getContentLength();
            int[] bitmapData = new int[length];
            byte[] bitmapData2 = new byte[length];
            InputStream is = conn.getInputStream();

            bm = BitmapFactory.decodeStream(is);

            outPut = "success";
        } catch (IOException e) {
            e.printStackTrace();
        }
        return outPut;
    }

    protected void onPostExecute(String file_url) {
        // updating UI from Background Thread
        runOnUiThread(new Runnable() {
            public void run() {
                imageView1.setImageBitmap(bm);
            }
        });
    }
}

アップデート

button1.setOnClickListener(new OnClickListener() {
    public void onClick(View view) {
        // new download().execute();
        Drawable drawable = LoadImageFromWeb("http://url/image/img_123.jpg");
        imageView1.setImageDrawable(drawable);
    }
});

private Drawable LoadImageFromWeb(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src name");
        return d;
    } catch (Exception e) {
        System.out.println("Exc="+e);
        return null;
    }
}
4

1 に答える 1

0

これは、URLから画像ファイルをダウンロードし、カスタムの場所を保存するのに役立つ1つの例です。これにより、ダウンロード後に画面に表示できます http://getablogger.blogspot.in/2008/01/android-download-image-from- server-and.html

アップデート:

URLから直接画像を読み込む必要があると思います。http://progrnotes.blogspot.in/2010/09/url.htmlを参照してください

于 2012-09-27T07:28:07.500 に答える