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]); } 
  • Bases de datos de sincronización Mysql SQLite
  • Android recopila datos de mySql
  • NameValuePair Error "NameValuePair no se puede resolver con un tipo"
  • Convertir PHP / MYSQL / sitio web existente en IOS Nativo / Aplicaciones de Android
  • Devolver una gota con json
  • Cómo subir imágenes al servidor Php y almacenar en phpmyadmin
  • Sincronizar las bases de datos sqlite con mysql
  • Obtención de datos de Mysql DB a listView utilizando JSON y PHP
  • Android studio getSlotFromBufferLocked: error de búfer desconocido
  • Cómo conectarse al servidor MySQL remoto a través de JDBC desde Android Applicaton
  • almacenar y recuperar la imagen del servidor WAMP usando android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.