我創建了一個應用程序,它允許用戶下載音頻文件並將其存儲在他們的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