¿Qué puedo usar para permitir que una aplicación de Android se comunique con una aplicación de rails

Estoy tratando de crear una aplicación que básicamente permite a un usuario en un dispositivo Android enviar un mensaje que aparece al instante en la aplicación de rieles. ¿Alguien tiene sugerencias de lo que yo utilizaría para hacer esto?

Aquí hay un paso rápido.

Preparación de la aplicación base

Vamos a crear una nueva aplicación rails

$ rails new simple-message $ cd simple-message/ 

Ahora vamos a crear un recurso RESTful llamado Mensaje, que administrará los mensajes procedentes de sus móviles.

 $ rails generate scaffold Message title:string content:text 

Cree la tabla que contendrá los mensajes:

 $ rake db:migrate 

Inicie el servidor delimitado y apunte su navegador a http://0.0.0.0:3000/mensajes

Desde allí puedes crear manualmente nuevos mensajes, que aparecerán como una lista.

Tu API ya está allí

Para cada página que puede navegar con su navegador hay una vista correspondiente que acepta llamadas programáticas de otros clientes.

Si navegas por http://0.0.0.0:3000/messages.xml obtendrás un xml que contiene todos tus mensajes. Con rizo:

 $ curl http://localhost:3000/messages.xml <?xml version="1.0" encoding="UTF-8"?> <messages type="array"> <message> <created-at type="datetime">2010-11-27T18:24:36Z</created-at> <title>Just a message</title> <updated-at type="datetime">2010-11-27T18:24:36Z</updated-at> <id type="integer">1</id> <content>With some content</content> </message> </messages> 

Es hora de agregar un nuevo mensaje:

 $ curl -X POST -H 'Content-type: text/xml' -d '<message><title>Hello</title><content>How are you</content></message>' http://0.0.0.0:3000/messages.xml <?xml version="1.0" encoding="UTF-8"?> <message> <created-at type="datetime">2010-11-27T18:40:44Z</created-at> <title>Hello</title> <updated-at type="datetime">2010-11-27T18:40:44Z</updated-at> <id type="integer">2</id> <content>How are you</content> </message> 

Su cliente Android tendrá que actuar como curl para agregar nuevos mensajes.

Asegurar tu aplicación web

Ahora necesita una cierta autenticación para permitir que sólo cierto usuario actúe como administrador y para restringir el uso de su API. Antes de excavar para la forma diferente de implementar la autenticación en Rails:

  • Debe su usuario autenticarse antes de publicar un mensaje?
  • Si la aplicación web acepta la autenticación de otros servicios (por ejemplo, Twitter, Facebook, Google, OAuth, OpenID …) o contra su propia base de datos de usuarios?
  • ¿Está su API abierta a otros clientes, o simplemente su cliente de Android puede publicar mensajes?
  • ¿Necesita saber quién publicó el mensaje (es decir, el inicio de sesión del usuario)?
  • ¿Desea bloquear un solo usuario o una aplicación para enviar mensajes a su aplicación web?

Usted puede encontrar un repaso agradable de diversas estrategias aquí .

La mejor manera de hacerlo es creando una API para su aplicación de rails. A continuación, puede utilizar la solicitud de correos HTTP desde su aplicación de Android.

Si respeta los paradigmas REST, es tan fácil como un POST para una URL.

  • Cómo Firebase Auth con Rails?
  • Creación de aplicaciones para iphone y Android para aplicaciones de rails existentes
  • Solución de empuje de servidor en Rails
  • Retrofit @Body apareciendo como parámetro en la petición HTTP
  • Api de Rails y autenticación nativa de aplicaciones para móviles
  • Configurar la autenticación de http
  • ¿Cómo puedo verificar la facturación de Android en la aplicación con un servidor con Ruby?
  • ¿Cómo crear un Api seguro de Rails REST para mi aplicación?
  • MultipartEntityBuilder para enviar imágenes al servidor de carril
  • Cómo obtener el código de autorización de Google una sola vez
  • Grape Rails API con Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.