2017-10-16 8 views
0

hi im nouveau à AsyncTask et j'ai besoin d'envoyer des données au serveur API. Im faisant la connexion et im coincé ici. J'ai lu sur le AsyncTask et c'est le code que j'ai vu. La première chose est si je détermine si le périphérique est connecté, il enverra des données sur l'URL donnée, sinon. il envoie à travers SMSEnvoi de données à l'URL du serveur via JSON

public class SendData extends AsyncTask <String, Void, Boolean> { 
    DateFormat dateFormat = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss"); 
    Date date = new Date(); 
    String datefinal = dateFormat.format(date).toString(); 
    String url = "http://192.168.1.212/mobile_alerts_api.php?location=&msg=&datetime=&id="; 


    @Override 
    protected Boolean doInBackground(String... urls) { 
     try{ 
      HttpGet httppost = new HttpGet(url); 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpResponse response = httpclient.execute(httppost); 

      // StatusLine stat = response.getStatusLine(); 
      int status = response.getStatusLine().getStatusCode(); 

      if (status == 200) { 
       HttpEntity entity = response.getEntity(); 
       String data = EntityUtils.toString(entity); 

       JSONObject jsono = new JSONObject(data); 
       return true; 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (JSONException e) { 

      e.printStackTrace(); 
     } 
     return false; 
    } 
    protected void onPostExecute(Boolean result) { 

    } 
} 
+0

Je suppose que vous ne l'avez pas entendu parler de Rénovation ou Volley, vous avez? –

+1

Quoi qu'il en soit, je ne pense pas 'HttpGet' est la classe correcte si vous voulez utiliser un POST –

+0

@ cricket_007 oui je n'ai jamais entendu parler de cela atm –

Répondre

0

Utilisation:

HttpPost httppost = new HttpPost(url); 

au lieu de

HttpGet httppost = new HttpGet(url); 

Get est utilisé pour obtenir des données à partir du serveur. Post est utilisé pour envoyer des données au serveur

+0

salut, merci pour la suggestion, j'ai besoin d'envoyer des données de l'application Android au serveur URL. –

+0

Refer: https://www.go4expert.com/articles/step-step-guide-sending-data-android-t30182/ –

+0

salut, merci pour ce –

0
 String json=yourJsonData; 
    StringEntity se = new StringEntity(json); 
httpPost.setEntity(se); 
httpPost.setHeader("Content-type", "application/json"); 

Ensuite, exécutez la HttpPost dans votre tâche async classe