Note that there are some explanatory texts on larger screens.

plurals
  1. PONeed help downloading a file using java in my app, it tries but quickly disappears
    text
    copied!<p>I am trying to download a zip file and save it to the sdcard.</p> <p>I have a button with the id "download"</p> <p>When I click the button, the dialog shows up and quickly disapears.</p> <p>Here's what the code section looks like.</p> <pre><code>public static final int DIALOG_DOWNLOAD_PROGRESS = 0; private ProgressDialog mProgressDialog; public void download(View view) { switch (view.getId()) { case R.id.download: startDownload(); } } private void startDownload() { String url = "https://mydownloadurl"; new DownloadFileAsync().execute(url); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DIALOG_DOWNLOAD_PROGRESS: mProgressDialog = new ProgressDialog(this); mProgressDialog.setMessage("Downloading file.."); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setCancelable(false); mProgressDialog.show(); return mProgressDialog; default: return null; } } class DownloadFileAsync extends AsyncTask&lt;String, String, String&gt; { @Override protected void onPreExecute() { super.onPreExecute(); showDialog(DIALOG_DOWNLOAD_PROGRESS); } @Override protected String doInBackground(String... aurl) { int count; try { URL url = new URL(aurl[0]); URLConnection conexion = url.openConnection(); conexion.connect(); int lenghtOfFile = conexion.getContentLength(); Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile); InputStream input = new BufferedInputStream(url.openStream()); OutputStream output = new FileOutputStream("/sdcard/mydownload.zip"); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; publishProgress("" + (int)((total * 100) / lenghtOfFile)); output.write(data, 0, count); } output.flush(); output.close(); input.close(); } catch (Exception e) { } return null; } protected void onProgressUpdate(String... progress) { Log.d("ANDRO_ASYNC",progress[0]); mProgressDialog.setProgress(Integer.parseInt(progress[0])); } @Override protected void onPostExecute(String unused) { dismissDialog(DIALOG_DOWNLOAD_PROGRESS); } </code></pre> <p>And the only thing that shows in the logcat is</p> <blockquote> <p>17586-17586/com.tyler.myapp D/qdmemalloc: ion: Mapped buffer base:0x6da9b000 size:1892352 offset:0 fd:47 17586-17586/com.tyler.myapp D/qdmemalloc: ion: Mapped buffer base:0x4002a000 size:4096 offset:0 fd:52 17586-17586/com.tyler.myapp D/OpenGLRenderer: Flushing caches (mode 0) 17586-17586/com.tyler.myapp D/qdmemalloc: ion: Unmapping buffer base:0x6da9b000 size:1892352 17586-17586/com.tyler.myapp D/qdmemalloc: ion: Unmapping buffer base:0x4002a000 size:4096 596-5470/system_process W/InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@42942fe8 attribute=null, token = android.os.BinderProxy@41dab9b0, pid=17586, inputType=0x(null)</p> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload