2015-07-05 56 views
0

我試圖實現超過10-15個不同的下載機制的android java,我一直未能成功。 我知道編程,但我是新來的Java。 我不在乎進度條或後臺進程。 我只是想在最少的線路可能 一個功能下載代碼,我想它下載的二進制文件(前景),到目錄中的設備無論它可以作爲Android:最簡單的網址下載wıthout進度條

File pf = new File("filename"); 
if (pf.exists()) { ... } 
+0

http://developer.android。 com/training/basics/network-ops/connecting.html – ditkin

回答

0

訪問嘗試這(從here修改):

try { 
     URL url = new URL("http://url.com"); 

     HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 

     urlConnection.setRequestMethod("GET"); 
     urlConnection.setDoOutput(true); 
     urlConnection.connect(); 

     //THIS IS WHERE YOU GET THE DIRECTORY TO SAVE TO 
     File SDCardRoot = Environment.getExternalStorageDirectory(); 
     //THIS IS WHERE YOU WILL SET THE FILE NAME 
     File file = new File(SDCardRoot,"somefile.txt"); 

     FileOutputStream fileOutput = new FileOutputStream(file); 
     InputStream inputStream = urlConnection.getInputStream(); 

     //create a buffer... 
     byte[] buffer = new byte[1024]; 
     int bufferLength = 0; 

     while ((bufferLength = inputStream.read(buffer)) > 0) { 
       fileOutput.write(buffer, 0, bufferLength); 
     } 
     fileOutput.close(); 

} catch (MalformedURLException e) { 
     e.printStackTrace(); 
} catch (IOException e) { 
     e.printStackTrace(); 
} 

你也可能需要添加的權限來訪問電話簿:

<manifest ...> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
</manifest> 

有關在內部目錄訪問特定文件夾的信息,請參閱Android開發者頁面:http://developer.android.com/training/basics/data-storage/files.html#WriteInternalStorage

事實上,該網頁上的解決方案也相當短:

String filename = "myfile"; 
String string = "Hello world!"; 
FileOutputStream outputStream; 

try { 
    outputStream = openFileOutput(filename, Context.MODE_PRIVATE); 
    outputStream.write(string.getBytes()); 
    outputStream.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

請注意,此解決方案不需要任何進度更新,流檢查,異步下載等,因此請注意一般應用程序;這個解決方案簡單地面向所問的問題。 – vontell

+0

嘗試添加此權限以及其他權限:'<使用權限android:name =「android.permission.INTERNET」/>''' – vontell

+0

這使應用程序崩潰,可能是什麼問題?錯誤日誌:[link](http://pastebin.com/fEKP5pBD) – user3110739