これを投稿する前に調査しましたが、明確な答えが得られなかったので、ここに来ました。これらのコード行で、正確に何をするのかを理解したいと思います。私はcppのバックグラウンドから来ており、ここでのことは本当に異なります..
new DisplayImageFromURL((ImageView) findViewById(R.id.my_image))
.execute("http://www.tmonews.com/wp-content/uploads/2012/10/androidfigure.jpg");
このコードは正確に何をしますか? 私のコードでは、この下に宣言されたプライベート クラスがありますが、次のクラスに渡される情報がわかりません。
private class DisplayImageFromURL extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pd = new ProgressDialog(MainActivity.this);
pd.setMessage("Loading...");
pd.show();
}
public DisplayImageFromURL(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
pd.dismiss();
}
}
}
これはこのコードで何をしますか? そして、ここでの中括弧は何を意味するのでしょうか?
public DisplayImageFromURL(ImageView bmImage) {
this.bmImage = bmImage;
}
そして、この最後の 1 つ..どこから URl を取得していますか?
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];