error: método ejecutado en la clase AsyncTask <Params, Progress, Result> no se puede aplicar a tipos dados

Me quieren enviar texto e imagen de android a MySQL través de php. Sin embargo, tengo error y no soy capaz de resolver. ¿Puede alguien ayudarme a resolver el problema? Muchas gracias

Añadir Función

  public void Add(final String claimType, final String Amount, final String Description, final Bitmap photo) { class AddImage extends AsyncTask<Void, Void, String> { ProgressDialog loading; @Override protected void onPreExecute() { super.onPreExecute(); loading = ProgressDialog.show(getApplicationContext(), "Please Wait",null, true, true); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); loading.dismiss(); Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show(); } @Override protected String doInBackground(Void... params) { HashMap<String, String> data = new HashMap<String,String>(); data.put(Configs.KEY_TYPE,claimType); data.put(Configs.KEY_AMOUNT,Amount); data.put(Configs.KEY_IMAGEDESCRIPTION,Description); String uploadImage=getStringImage(photo); data.put(Configs.KEY_IMAGE,uploadImage); data.put(Configs.KEY_TSID,IDFromInfo); RequestHandler rh=new RequestHandler(); String result = rh.sendPostRequest(Configs.ADD_WORKFORCE,data); return result; } } AddImage ru = new AddImage(); ru.execute(claimType, Amount, Description, photo); // error } 

Error

 Error:(185, 11) error: method execute in class AsyncTask<Params,Progress,Result> cannot be applied to given types; required: Void[] found: String,String,String,Bitmap reason: varargs mismatch; String cannot be converted to Void where Params,Progress,Result are type-variables: Params extends Object declared in class AsyncTask Progress extends Object declared in class AsyncTask Result extends Object declared in class AsyncTask 

Prueba de esta manera,

  public void Add(final String claimType, final String Amount, final String Description, final Bitmap photo) { new AddImage().execute(); } class AddImage extends AsyncTask<Void, Void, String> { ProgressDialog loading; @Override protected void onPreExecute() { super.onPreExecute(); loading = ProgressDialog.show(getApplicationContext(), "Please Wait",null, true, true); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); loading.dismiss(); Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show(); } @Override protected String doInBackground(Void... params) { HashMap<String, String> data = new HashMap<String,String>(); data.put(Configs.KEY_TYPE,claimType); data.put(Configs.KEY_AMOUNT,Amount); data.put(Configs.KEY_IMAGEDESCRIPTION,Description); String uploadImage=getStringImage(photo); data.put(Configs.KEY_IMAGE,uploadImage); data.put(Configs.KEY_TSID,IDFromInfo); RequestHandler rh=new RequestHandler(); String result = rh.sendPostRequest(Configs.ADD_WORKFORCE,data); return result; } } 

Tu doInBackground espera que no pases param (Void … params) y pases 4 params (claimType, Amount, Description, photo)

Utilice AsyncTask como este:

 class AddImage extends AsyncTask<String, Void, String> 

y en doInBackground (String … params) obtiene la cadena como:

  @Override protected String doInBackground(String... params) { HashMap<String, String> data = new HashMap<String,String>(); data.put(Configs.KEY_TYPE,params[1]); data.put(Configs.KEY_AMOUNT,params[2]); data.put(Configs.KEY_IMAGEDESCRIPTION,params[3]); } 
  • Android: ¿Cómo enviar datos a MySQL DB sin usar JDBC, PHP o cualquier otro servicio web?
  • SQLiteDatabase - ¿Cómo utilizar la cláusula where?
  • ¿Se trata de una consulta SQLite válida?
  • Error: NullPointerAccess: La variable "" sólo puede ser null en esta ubicación
  • Firebase Big query - Cómo recuperar los datos de la tabla Eventos personalizados
  • Colocación de varias tablas / columnas en un archivo CSV
  • Sesión de manejo en android mientras se registra en el lado del servidor en php
  • Android - Ruby on Rails - MySQL
  • Android studio getSlotFromBufferLocked: error de búfer desconocido
  • ¿Qué es un buen enfoque de diseño de base de datos para mi aplicación Android Quiz?
  • Fireman FCM token - ¿Cuándo enviar al servidor?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.