私はAndroidプログラミングとスレッドには初めてです。リモートサーバーから画像を取得して表示したい(それは今まで働いています^^) 写真はカメラからのものなので、前にダウンロードしたものを見るとすぐに新しいものが必要になります。つまり、スレッドが画像をつかむのを止めるべきではないということです。 (アクティビティが存在する限り)
また、サーバーへの接続を1つ確立してから、HTTP-getを実行するだけです。だから私はスレッドが使用できるパラメータ "接続"を持たなければならない。私はそれがこのようになるはずだと思うあなたはそれのために多少の遅延を設定する必要がありますが、この問題を解決するためにAndroid - 繰り返しスレッドを実行
private class DownloadImageTask extends AsyncTask<URLConnection, Void, Bitmap> {
/** The system calls this to perform work in a worker thread and
* delivers it the parameters given to AsyncTask.execute() */
private URLConnection connection = null;
protected Bitmap doInBackground(URLConnection...connection) {
this.connection = connection[0];
return getImageFromServer(connection[0]);
}
protected void onPostExecute(Bitmap result) {
pic.setImageBitmap(result);
this.doInBackground(connection);
}
}
ありがとう、それは私の多くを助けた! – user1271544
もう1つのことは... 'c.close();'はありません 'URLConnection'を閉じるにはどうすればいいですか?私はこれまでに何かを見つけた。 – user1271544
ああ、次に取得するべき 'InputStream'に' .close() 'があるはずです。あなたはいつもあなたが開いたものを閉じるべきです - それが私がクローズを追加した理由です:) – zapl