Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/04/2016, 05:45
Avatar de ipraetoriux
ipraetoriux
 
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Conectar API con aplicación Android

Bien te pongo un pequeño ejemplo, muy basico y burdo, obviamente te será dificil si tu nivel de conocimiento de Java y Android es básico.

1) Necesitas la libreria Volley. Clona el siguiente repositorio e importa los archivos a tu proyecto Android o genera un archivo .jar

Código BASH:
Ver original
  1. git clone https://android.googlesource.com/platform/frameworks/volley

Otra opción es usar la versión no oficial, lo que deberias agregar en tu .gradle

Código BASH:
Ver original
  1. compile 'com.mcxiaoke.volley:library:1.0.+'

2) Supongamos que tenes en un layout un formulario con dos EditText, cada uno con un ID definido, en este caso "nombre_id" y "apellido_id"

Código XML:
Ver original
  1. <EditText
  2.        android:id="@+id/nombre_id"
  3.        android:layout_width="match_parent"
  4.        android:layout_height="wrap_content"/>
  5.  
  6.  
  7. <EditText
  8.        android:id="@+id/apellido_id"
  9.        android:layout_width="match_parent"
  10.        android:layout_height="wrap_content"/>

3) Luego en tu Activity o Fragment capturas los valores ingresados en los EditText

Código Java:
Ver original
  1. final EditText nombre = (EditText) findViewById(R.id.nombre_id);
  2. final EditText apellido = (EditText) findViewById(R.id.apellido_id);


4) Creamos un String con la URL y los valores que enviaremos al servidor codificada

Código Java:
Ver original
  1. final String data = "http://www.aca-tu-url.com/?nombre=" + URLEncoder.encode(nombre.getText().toString().trim(), "UTF-8") +  "&apellido=" + URLEncoder.encode(loginPassword.getText().toString().trim(), "UTF-8");

5) Y nos conectamos con Volley al servidor enviando datos y esperando una respuesta
Código Java:
Ver original
  1. JsonObjectRequest request = new JsonObjectRequest(
  2.      Request.Method.GET,
  3.      data,
  4.      null,
  5.      new Response.Listener<JSONObject>() {
  6.         @Override
  7.          public void onResponse(JSONObject jsonObject) {
  8.           /* ACA MANEJAS UNA RESPUESTA OK */
  9.          }
  10.      },
  11.      new Response.ErrorListener() {
  12.         @Override
  13.         public void onErrorResponse(VolleyError volleyError) {
  14.            /*ACA MANEJAS LA RESPUESTA DE ERROR*/
  15.         }
  16.      }
  17. );