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