Usando AsyncTask de esta manera: "new AsyncTask () {" me está dando errores
Estoy siguiendo un tutorial de Android en GCM que utiliza una función llamada "doInBackground" y tienen esta función definida como esta:
private void registerInBackground() { new AsyncTask() { @Override protected String doInBackground(Void... params) { //do stuff } @Override protected void onPostExecute(String msg) { //do stuff } }.execute(null, null, null); }
Pero cuando coppy y pegar su propio código en eclipse, se queja y dice que no he implementado doInBackground. Esto es porque espera que doInBackground tenga un parámetro de entrada de "Object" y no reconozca el que está definido porque su parámetro de entrada es un void. Ahora, si estaba declarando una tarea asíncrona como una clase, pondría <Void, Void, String>
delante de ella, y eso diría al compilador que quiero que mi doInBackground tenga VOID como entrada. Pero cuando pongo <Void, Void, String>
delante de "new AsyncTask ()" como tal:
- La llamada a API no funciona dentro de Anko Async
- Llamar a varias AsyncTask a la vez que no funcionan en Android
- .execute no se puede resolver a un tipo - AsyncTask (Android)
- Descargar archivos grandes (> 100mb) en Honeycomb en AsyncTask ralentiza la interfaz de usuario, posiblemente debido a GC?
- Android AsyncTask
private void registerInBackground() { new AsyncTask() <Void, Void, String>{
Consigo error del compilador:
Syntax error on tokens, delete these tokens
- Android: TimerTask programado para la repetición de ser despedido sólo una vez
- Cómo dejar que Async Task termine en Android
- Cómo obtener el resultado de OnPostExecute () en la actividad principal porque AsyncTask es una clase aparte?
- ¿Cómo puedo hacer que un ProgressDialog sea cancelable por el botón de retroceso pero no por un toque de pantalla?
- Clase IntentService que no está ejecutando AsyncTask en el hilo principal de ui. Método de ejecución debe ser llamado desde el hilo principal, el hilo actualmente inferido es el trabajador
- Java.util.concurrent.RejectedExecutionException en Async Tarea Android
- Cómo iniciar correctamente la actividad de PostExecute en Android?
- Cómo comprobar si Async Task ya se está ejecutando
Debe tener el ()
después de la especificación de tipo de parámetro:
new AsyncTask<Void, Void, String>() { /*Your code(eg doInBackground )*/ }.execute();
Prueba esto:
new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground( Void... voids ) { //Do things... return null; } }.execute();