Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/11/2018, 06:06
__SDP__
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: consumir servicio rest

debo hace una corrección el ClassConnectionV2 anterior es para cuando ya tienen el token y eso se pone en el header de la petición, pero para pasar parámetros ejemplo los datos del login se hace lo que esta en el siguiente ClassConnectionV3

Código Java:
Ver original
  1. package com.example.practice.getpost;
  2.  
  3. import android.os.AsyncTask;
  4.  
  5. import java.io.BufferedInputStream;
  6. import java.io.BufferedReader;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.io.InputStreamReader;
  10. import java.net.HttpURLConnection;
  11. import java.net.MalformedURLException;
  12. import java.net.URL;
  13. import java.net.URLEncoder;
  14. import java.util.LinkedHashMap;
  15. import java.util.Map;
  16.  
  17. public class ClassConnectionV3 extends AsyncTask<String, String, String> {
  18.  
  19.     @Override
  20.     protected String doInBackground(String... strings) {
  21.  
  22.         HttpURLConnection httpURLConnection = null;
  23.         URL url = null;
  24.         try {
  25.             url = new URL(strings[0]);
  26.         } catch (MalformedURLException e) {
  27.             e.printStackTrace();
  28.         }
  29.  
  30.         try {
  31.             httpURLConnection = (HttpURLConnection) url.openConnection();
  32.  
  33.             //String basicAuth = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZkYjIzYWUyZDNkN2JkMTlmZjBmMTA1NmM5Mzg5NWE3MzQ4N2EzNzdkNDNmYjdhNWQ4Yjg2YTYzYTcwNjY4YWM5MWM2OGNjMzhhNjlhOTY0In0.eyJhdWQiOiIzIiwianRpIjoiZmRiMjNhZTJkM2Q3YmQxOWZmMGYxMDU2YzkzODk1YTczNDg3YTM3N2Q0M2ZiN2E1ZDhiODZhNjNhNzA2NjhhYzkxYzY4Y2MzOGE2OWE5NjQiLCJpYXQiOjE1NDIwMzY2MTEsIm5iZiI6MTU0MjAzNjYxMSwiZXhwIjoxNTczNTcyNjExLCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.iQoKJu6bzzqbfXI8YvCsObFaA7MsufHtaRCK3JS3arVq2HWvDP268QxG_NzCACVxnuuvYkHXbtClRzkqYfvcWP_SUhd2jTWUjek5OPueUg7XEu-fXyEbu3LXfK4jL2u2w1w_s8a4MfEJIbEJuxBefMa9u8LkK3HuSBPoLzsxYnhONtXFm_qrAsUKnUQgmYq0cKm-4prO5PzNF1FACgIhfmwdOeuNi66ICajjI9eUxF17nT4Rbn-s4_xt4B81sQ_Mxsxejafz2NS4a1zuNDUzkvpWKb34EhKW5r9Pk4SApYlzfkgarQKqUNKw_UnkZPAOf_oVmboGKi1dtsxX3-Oic16hAckR9s_h5P9A6E1xRa8BoIKd8FZhQtSy4vCcsSbyk3jxua_NR-AnydHRgbM_WujDWLM_eItZrxrembXySKsb4dSCMm6pOqvM6i6JNyIUh5LWrP0M1UrvzfeqWSgF4DFV8GhHbuQ6HOGKlC1lLEEYcPgAiWFRW9d-603Lhc8xp96GA7UrdvbqMtb6dUFHbv5Uhy_Ac0O_-3lzu9X-8Kcqo8sICsTuaiwCQ0274dVTkjzLNYTa5TSsLkp-VnWCjelDq-uE9Y10_JbUhuihZZ-oKnQJZ5bIxJPSZ5sj1BzPCMO031SwAGI7A1eXduD-nLZqSAhkiZQS6FWH6WWCtYE";
  34.             //httpURLConnection.setRequestProperty ("Authorization", basicAuth);
  35.  
  36.             Map<String,Object> params = new LinkedHashMap<>();
  37.             params.put("email", "[email protected]");
  38.             params.put("password", "123");
  39.  
  40.             StringBuilder postData = new StringBuilder();
  41.             for (Map.Entry<String,Object> param : params.entrySet()) {
  42.                 if (postData.length() != 0) postData.append('&');
  43.                 postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
  44.                 postData.append('=');
  45.                 postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
  46.             }
  47.             byte[] postDataBytes = postData.toString().getBytes("UTF-8");
  48.  
  49.             httpURLConnection.setRequestMethod("POST");
  50.  
  51.             httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  52.             httpURLConnection.setUseCaches(false);
  53.             httpURLConnection.setDoInput(true);
  54.             httpURLConnection.setDoOutput(true);
  55.             httpURLConnection.getOutputStream().write(postDataBytes);
  56.  
  57.             int code = httpURLConnection.getResponseCode();
  58.             String linea = "";
  59.             String line;
  60.  
  61.             if(code == HttpURLConnection.HTTP_OK){
  62.  
  63.                 InputStream in = new BufferedInputStream(httpURLConnection.getInputStream());
  64.  
  65.                 BufferedReader reader = new BufferedReader(new InputStreamReader(in));
  66.                 while((line = reader.readLine()) != null){
  67.                     linea += line;
  68.                 }
  69.  
  70.                 return linea;
  71.  
  72.             }
  73.  
  74.             return "nok";
  75.  
  76.         } catch (IOException e) {
  77.             e.printStackTrace();
  78.         }
  79.  
  80.         return null;
  81.     }
  82. }

lo unico que hay que hacer es cambiar donde dice ClassConnection por ClassConnectionV3 en el mainactivity.java que puse anteriormente

y listo

Última edición por __SDP__; 23/11/2018 a las 12:33