Note that there are some explanatory texts on larger screens.

plurals
  1. POWhy doesn't my AsyncTask stop?
    text
    copied!<p>I am trying to upload a photo to my FTP Server and it is going alright, but my AsyncTask doesn't finish. My logs show that everything went correctly. Whats going on? Here is my code:</p> <pre><code> public class LoadPerfil extends AsyncTask&lt;Void, Void, Boolean&gt; { @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(Perfil.this); pDialog.setMessage("Carregando informações..."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } @Override protected Boolean doInBackground(Void... arg0) { //we will develop this method in version 2 updateJSONdata(); return null; } @Override protected void onPostExecute(Boolean result) { super.onPostExecute(result); getSupportActionBar().setTitle(nome); Picasso.with(getApplicationContext()). load("http://gargsolutions.com.br/budge_backend/fotos/"+id+".jpg") .resize(200, 260) .centerCrop() .into(FotoPerfil); txtBiografia.setText(biografia); txtPontos.setText("Pontuação: "+String.valueOf(pontuacao)); pDialog.dismiss(); //we will develop this method in version 2 } } public class UploadFoto extends AsyncTask&lt;Void, Void, Boolean&gt; { @Override protected void onPreExecute() { super.onPreExecute(); pDialog = new ProgressDialog(Perfil.this); pDialog.setMessage("Upando foto..."); pDialog.setIndeterminate(false); pDialog.setCancelable(true); pDialog.show(); } @Override protected Boolean doInBackground(Void... arg0) { //we will develop this method in version 2 upaFoto(); //upaMetodo2(); return null; } @Override protected void onPostExecute(Boolean result) { super.onPostExecute(result); new LoadPerfil().execute(); //we will develop this method in version 2 pDialog.dismiss(); } } public void upaFoto(){ FTPClient con = null; try { con = new FTPClient(); con.connect("xxx"); Log.i("ta chegando aqui", "antes do if de login"); if (con.login("xx", "glaxxrgx")) { Log.i("teste", "logou ftp"); con.enterLocalPassiveMode(); // important! con.setFileType(FTP.BINARY_FILE_TYPE); String data1 = diretorio+"/"+id+".jpg"; Log.i("teste", data1); FileInputStream in = new FileInputStream(new File(data1)); boolean result = con.storeFile("/www/budge_backend/fotos/"+id+".jpg", in); in.close(); if (result) Log.i("upload result", "succeeded"); con.logout(); con.disconnect(); } } catch (Exception e) { Log.i("erro ao logar", e.toString()); e.printStackTrace(); } } public void updateJSONdata(){ // Instantiate the arraylist to contain all the JSON data. // we are going to use a bunch of key-value pairs, referring // to the json element name, and the content, for example, // message it the tag, and "I'm awesome" as the content.. mPerfilLists = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;(); // Bro, it's time to power up the J parser JSONParser jParser = new JSONParser(); // Feed the beast our comments url, and it spits us //back a JSON object. Boo-yeah Jerome. LoadPrefs(); JSONObject json = jParser.getJSONFromUrl(LER_LOCAL_URL+"?email="+email); Log.i("teste url", LER_LOCAL_URL+"?email="+email); //when parsing JSON stuff, we should probably //try to catch any exceptions: try { //I know I said we would check if "Posts were Avail." (success==1) //before we tried to read the individual posts, but I lied... //mComments will tell us how many "posts" or comments are //available mPerfil = json.getJSONArray(TAG_POSTS); // looping through all posts according to the json object returned for (int i = 0; i &lt; mPerfil.length(); i++) { JSONObject c = mPerfil.getJSONObject(i); //gets the content of each tag nome = c.getString("nome"); biografia = c.getString("biografia"); pontuacao = c.getInt("pontuacao"); id = c.getString("id"); //String comentarios = c.getString("coments"); //String message = c.getString("sucess"); Log.i("testando resultados: ", nome+biografia+pontuacao); // map.addMarker(new MarkerOptions() //.position(new LatLng(lati, longi)) //.title(linha) //.snippet(usuario)); //annndddd, our JSON data is up to date same with our array list } } catch (JSONException e) { e.printStackTrace(); Log.i("try/catch", "Ta caindo no cacth"); // resultado = 1; } } @Override protected void onResume() { super.onResume(); new LoadPerfil().execute(); } </code></pre> <p>EDIT:</p> <p>My logs results, you can see, "upload succeded", "do in back...", "on post":</p> <pre><code>11-19 18:25:41.192: I/teste url(2183): http://gargsolutions.com.br/budge_backend/perfil.php?email=Gabrielmalinosqui@gmail.com 11-19 18:25:41.192: I/testando resultados:(2183): Gabriel Jacomini Malinosqui18 anos, CEO at GARG Solutions, UNIP Ciência da Computação0 11-19 18:25:41.282: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28956 handle: 0x56f3abf0 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:41.282: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28958 handle: 0x57324a20 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:41.282: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28961 handle: 0x5691b870 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:41.412: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28949 handle: 0x57224d00 size: 540 x 778 fmt: 511 usage: 0x300 11-19 18:25:42.292: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28951 handle: 0x573aa2b0 size: 480 x 205 fmt: 1 usage: 0x933 11-19 18:25:44.482: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28957 handle: 0x56f302b0 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:44.482: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28959 handle: 0x54e09450 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:44.482: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28960 handle: 0x57220de0 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:51.632: I/Teste arquivo(2183): /storage/sdcard0/BusaoBauru/62.jpg 11-19 18:25:52.242: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28974 handle: 0x5694a510 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.292: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28975 handle: 0x52f24e30 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:52.312: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28976 handle: 0x52f5df60 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.472: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28977 handle: 0x56d144c0 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.582: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28978 handle: 0x5798c6b0 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:52.602: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28979 handle: 0x54e01b80 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.632: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28980 handle: 0x52f5eac0 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.662: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28981 handle: 0x55656e10 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:52.962: I/ta chegando aqui(2183): antes do if de login 11-19 18:25:53.392: I/teste(2183): logou ftp 11-19 18:25:53.522: W/IMGSRV(2183): :0: gralloc_register_buffer: ID: 28982 handle: 0x56d136d0 size: 540 x 888 fmt: 5 usage: 0xb00 11-19 18:25:53.582: I/teste(2183): /storage/sdcard0/BusaoBauru/62.jpg 11-19 18:25:55.152: I/upload result(2183): succeeded 11-19 18:25:55.472: I/teste(2183): do in back... 11-19 18:25:55.542: I/teste(2183): On post.. 11-19 18:25:55.582: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28976 handle: 0x52f5df60 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:55.582: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28979 handle: 0x54e01b80 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:55.582: W/IMGSRV(2183): :0: gralloc_unregister_buffer: ID: 28981 handle: 0x55656e10 size: 513 x 144 fmt: 5 usage: 0xb00 11-19 18:25:56.162: I/teste url(2183): http://gargsolutions.com.br/budge_backend/perfil.php?email=Gabrielmalinosqui@gmail.com 11-19 18:25:56.162: I/testando resultados:(2183): Gabriel Jacomini Malinosqui18 anos, CEO at GARG Solutions, UNIP Ciência da Computação0 </code></pre>
 

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