Android – Ruby on Rails – MySQL

He empezado a trabajar en una aplicación de Android para la que necesitamos utilizar MySQL como base de datos y Ruby on Rails para el código del lado del servidor. Vamos a utilizar SQLLite también en el dispositivo (se sincronizan tanto DB como y cuando sea necesario). Busqué en la web y no pude encontrar tutoriales / ejemplos relevantes que pudieran servir como base para empezar.

He ido a través de tutoriales de MySQL y ROR, pero todavía tiene confusión en la conexión de Android con ROR.

¿Puede alguien compartir algunos tutoriales relevantes / fragmento de código que puede explicar el enlace completo de las tecnologías. Quiero decir cómo enviar datos desde un dispositivo Android a MySQL y viceversa. Conozco el concepto teóricamente pero no sé cómo y por dónde empezar.

Mis sinceras disculpas por hacer una pregunta tan básica o si suena ambigua pero soy un principiante y necesito completar esta tarea. Gracias de antemano..

Aquí hay una breve descripción de lo que debe saber para lograr su objetivo. No voy a ir tan lejos en los detalles, sobre todo porque nunca he utilizado personalmente RoR. Tenga en cuenta que algunas de estas partes podrían no estar relacionadas exactamente con RoR, pero la idea general detrás de ella todavía se aplica. Voy a dejar a usted a la investigación y averiguar cómo implementar cada componente individual.

El flujo general de todo es como sigue:

Aplicación para Android <==> Red <==> Servicio Web <==> MySQL

Observe las flechas de doble filo ya que los datos fluirán en ambas direcciones.

La Android App es el cliente, y el Web Service y la MySQL datos MySQL se encuentran en el Web Server . Sólo incluí la parte de red para completar, pero no debería tener que hacer nada una vez que los datos se han enviado a la red.

Una breve descripción de cada sección:

Aplicación Android:

La aplicación de Android es el cliente que envía y recupera datos del servidor Web. Estoy asumiendo que en su aplicación que va a permitir al usuario hacer algunas tareas que en esencia se convierte en los datos que desea enviar al servidor en algún momento.

Tomemos por ejemplo, el usuario debe ser capaz de introducir su nombre y el animal favorito. Digamos que hay un botón "Enviar" real que el usuario puede hacer clic. Cuando se hace clic en este botón "Enviar", se debe encerrar los datos en un formato adecuado para enviar a través de la red. Dos de los más comunes son JSON y XML . Una vez que los datos se han formateado correctamente, querrá enviar los datos al servidor utilizando algún tipo de protocolo de red, como HTTP . Para enviar los datos, por supuesto debe tener alguna URL como destino. Digamos que el objetivo es www.example.com/webservice.php . Este objetivo es nuestro Servicio Web ubicado en el Servidor Web.

Una vez que usted envía los datos, el servidor responderá con algunos datos en qué punto usted puede hacer lo que usted quiere con él. Tal vez mostrarlo al usuario, o pegarlo en una SQLite datos SQLite , o incluso ambos.

Lo más importante a recordar es que no hay magia en curso. Todo lo que acabo de describir se implementará en código Java que escribirá en su aplicación Android en algún momento.

Ideas clave que debe investigar más y averiguar cómo implementar en código Java:

  • JSON y XML
  • HTTP en Java
  • Descanso y jabón
  • Aquí hay un excelente vídeo sobre las posibles formas de configurar la estructura de tu aplicación de Android.
  • Asegúrese de que está realizando todas las operaciones de red en su aplicación de Android en un hilo diferente. Un método fácil de usar es un servicio de intención .

Servicio web:

Esta es a menudo la parte más confusa. Un Web Service es simplemente un punto de entrada para los clientes que intentan acceder al Web Server . Mi explicación aquí puede ser ligeramente diferente cuando se utiliza RoR , pero la misma idea se aplica. Tenga en cuenta que la URL destino era www.example.com/webservice.php . El servicio web es literalmente el código PHP que existe en el servidor web, llamado webservice.php . En su aplicación para Android, cuando envía datos a la URL destino mediante HTTP , el código de servicio Web se ejecutará en el servidor (y también tendrá acceso a los datos que le envió). En el interior de su código de servicio Web, básicamente se extraerá los datos (que es en algún formato como JSON), agarrando las partes necesarias y, a continuación, hacer algo con él. En este caso lo más probable es que consulte la base de datos. En PHP es fácil escribir código que conecta y consulta una base de datos MySQL que también se está ejecutando en el servidor. Cuando la respuesta de la base de datos es recuperada por el servidor Web, puede devolverla a la aplicación de Android. Al igual que antes, recuerde, no hay magia pasando. Todas estas ideas se implementan escribiendo algún código.

Principales ideas para la investigación:

  • Servicio web Ruby on Rails
  • Cómo acceder a una base de datos MySQL con Ruby on Rails

Base de datos MySQL:

Aquí es donde almacenará los datos en el servidor web. No voy a ir tan en profundidad aquí, porque esto es sólo va a requerir que usted hace un montón de lectura sobre cómo configurar una base de datos MySQL en un servidor web. También es importante que aprenda a crear las consultas adecuadas como SELECT , INSERT y así sucesivamente.

Principales ideas para investigar:

Cómo configurar una base de datos MySQL en un servidor web

Si necesita alguna aclaración, avíseme!

  • HTML5 Webapp como icono o aplicación regular en iPhone y Android.
  • Android: Diseño de uno-a-muchos de SQLite
  • ¿Cómo puedo crear una base de datos en android?
  • Android: cómo consultar SQLiteDatabase con args de selección de no-cadena?
  • SQLite: No se puede enlazar argumento en el índice 1 porque el índice está fuera de rango. La sentencia tiene 0 parámetros
  • Obtención del siguiente valor AUTO_INCREMENT de una base de datos SQLite
  • Exención de SQLite sobre la reanudación de la actividad de Android
  • ¿Cómo usar SQLiteOpenHelper con la base de datos en sd-card?
  • Java.lang.IllegalStateException: No se pudo leer la fila 0, col 0 de CursorWindow
  • Intenta invocar el método virtual 'java.lang.Class java.lang.reflect.Field.getType ()' en una referencia de objeto nulo
  • Se abren varias bases de datos de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.