私は、ユーザーがオーディオファイルをダウンロードしてSDカードに保存できるアプリを作成しました。下のコードは実際に動作していますが、問題はダウンロードボタンを押すたびに、ダウンロードが終了するまでアプリ全体がフリーズします。ダウンロードボタンを押すたびにフリーズしないように、どうすればこの問題を解決できますか?助けてください、私はこのためにテ解決策を見つけようと努力してきましたが、本当に助けに感謝します。前もって感謝します。Androidでmp3ファイルの問題をダウンロードする
試し{
URL url = new URL("http://www.yourfile.mp3");
HttpURLConnection c = (HttpURLConnection) url.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
String PATH = Environment.getExternalStorageDirectory()
+ "/download/";
Log.v("", "PATH: " + PATH);
File file = new File(PATH);
file.mkdirs();
String fileName = "yourfilename.mp3";
File outputFile = new File(file, fileName);
FileOutputStream fos = new FileOutputStream(outputFile);
InputStream is = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = is.read(buffer)) != -1) {
fos.write(buffer, 0, len1);
}
fos.close();
is.close();
}catch (IOException e) {
e.printStackTrace();
}
}
あなたのダウンロード方法は、あなたのファイルをダウンロードして動作するので、アプリケーションがフリーズしたように、それは印象を作成します。しかし、真実はあなたの方法が背中で実行されていることです。したがって、アプリケーションのフリーズを避けるために、ダウンロードメソッドがダウンロードされるまでProgressDialogを表示し、実行後にProgressDialogをキャンセルすることができます。 –
私は実際にそれを試みましたが、同じことが起こりました。ダウンロードが終了すると、ProgressDialogが表示されます。お返事をありがとうございます – user739375