Foros del Web » Programando para Internet » Android »

Conectar API con aplicación Android

Estas en el tema de Conectar API con aplicación Android en el foro de Android en Foros del Web. Buenas, estoy creando una API con el framework Epiphany y me gustaría saber cómo puedo conectar mi aplicación con la API para pasarle los datos ...
  #1 (permalink)  
Antiguo 06/04/2016, 03:48
Avatar de Luisda  
Fecha de Ingreso: octubre-2015
Ubicación: Villanueva de la Reina
Mensajes: 33
Antigüedad: 8 años, 5 meses
Puntos: 0
Pregunta Conectar API con aplicación Android

Buenas, estoy creando una API con el framework Epiphany y me gustaría saber cómo puedo conectar mi aplicación con la API para pasarle los datos recogidos de los campos y que estos se inserten en la base de datos.

Un saludo y gracias de antemano.
  #2 (permalink)  
Antiguo 06/04/2016, 04:25
Avatar de 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

Podes usar una libreria como Volley, conectarte con el API, enviar los datos en JSON, luego los recoges en tu servidor y los almacenas.
  #3 (permalink)  
Antiguo 06/04/2016, 04:49
Avatar de Luisda  
Fecha de Ingreso: octubre-2015
Ubicación: Villanueva de la Reina
Mensajes: 33
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Conectar API con aplicación Android

Muchas gracias, pero no me queda claro cómo conectar la aplicación a la API. Si puedes poner un código de ejemplo te lo agradecería mucho.
  #4 (permalink)  
Antiguo 06/04/2016, 05:45
Avatar de 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. );
  #5 (permalink)  
Antiguo 07/04/2016, 04:57
Avatar de Luisda  
Fecha de Ingreso: octubre-2015
Ubicación: Villanueva de la Reina
Mensajes: 33
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Conectar API con aplicación Android

Muchas gracias por tu respuesta, pero encontré una forma de hacerlo que me parece algo más fácil de hacer.

Lo malo es que me encontré con otro problema. Al intentar conectar con la API me salta este error.

http://puu.sh/o9m32/75982c8a34.png

En las líneas que me indica están los siguientes trozos de código.

---Línea 40---> El error me lo da en la línea que esta seleccionada

http://puu.sh/o9m63/b7e91396d8.png

---Línea 54---> El error me lo da en la línea seleccionada

http://puu.sh/o9m9x/ff4f75497e.png

Un saludo y gracias.

Etiquetas: api, bd
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:35.