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]); } 
  • ¿Se trata de una consulta SQLite válida?
  • ¿Dónde ejecutar algoritmos complejos? Lado del servidor o lado del cliente?
  • ¿Podemos conectar la base de datos MySQL remota en Android usando JDBC?
  • Convertir PHP / MYSQL / sitio web existente en IOS Nativo / Aplicaciones de Android
  • JDBC vs Servicio Web para Android
  • Lado del servidor Routeboxer
  • Android - Ruby on Rails - MySQL
  • ¿Diferencia entre las bases de datos MySQL / SQLite / etc?
  • Android conectar mysql
  • ¿Dónde poner mi archivo php?
  • La mejor manera de implementar Client <-> Server <-> Arquitectura de bases de datos en una aplicación de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.