私のAndroidアプリケーションでは、画像をダウンロードするための永続的な接続を作成しようとしています. これが私のコードです
public class PersActivity extends Activity {
ImageView img;
String imageUrl="http://192.168.1.4/JRec/";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bt3= (Button)findViewById(R.id.download);
bt3.setOnClickListener(getImgListener);
img = (ImageView)findViewById(R.id.image);
}
View.OnClickListener getImgListener = new View.OnClickListener()
{
@Override
public void onClick(View view) {
for (int i = 0; i<4;i++){
downloadFile(i,imageUrl+"images/"+i+".png");
}
}
};
Bitmap bmImg;
void downloadFile(int i, String fileUrl){
URL myFileUrl =null;
try {
myFileUrl= new URL(fileUrl);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
System.out.println("Opening connection");
HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection();
conn.setRequestProperty("Connection", "keep-alive");
conn.setDoInput(true);
conn.connect();
System.out.println("Downloading"+fileUrl);
InputStream is = conn.getInputStream();
bmImg = BitmapFactory.decodeStream(is);
img.setImageBitmap(bmImg);
if (i ==3){
System.out.println("Disconnected");
conn.disconnect();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ダウンロードのために接続を開くたびにファイルのダウンロードを開始すると、接続を1回だけ開きたいと思い、アプリケーションがすべてのファイルのダウンロードを終了すると、接続を切断する必要があります。これを行う方法はありますか。
これに注目してくれた人に感謝します。