Voici un bref aperçu de ce que vous devez savoir pour atteindre votre objectif. Je ne vais pas entrer dans les détails, d'autant plus que je n'ai jamais personnellement utilisé RoR. Notez que certaines de ces parties peuvent ne pas se rapporter exactement au RoR, mais l'idée générale sous-jacente s'applique toujours. Je vous laisse le soin de rechercher et de comprendre comment mettre en œuvre chaque composant individuel.
Le flux général de tout est le suivant :
Application Android <==> Réseau <==> Service Web <==> MySQL
Notez les flèches à double tranchant puisque les données circuleront dans les deux sens.
L'Android App
est le client, et le Web Service
et MySQL
base de données se trouvent sur votre Web Server
. J'ai seulement inclus la partie Réseau pour être complet, mais vous ne devriez rien avoir à faire une fois que les données ont été envoyées sur le réseau.
Un bref aperçu de chaque section :
Application Android :
L'application Android est le client qui envoie et récupère les données du serveur Web. Je suppose que dans votre application, vous allez permettre à l'utilisateur d'effectuer certaines tâches qui deviennent essentiellement les données que vous souhaitez envoyer au serveur à un moment donné.
Prenons par exemple, l'utilisateur doit pouvoir entrer son nom et son animal préféré. Disons qu'il existe un véritable bouton "Soumettre" sur lequel l'utilisateur peut cliquer. Lorsque ce bouton "Soumettre" est cliqué, il doit emballer les données dans un format approprié pour être envoyées sur le réseau. Deux des plus courants sont JSON
et XML
. Une fois que les données ont été formatées correctement, vous voudrez envoyer les données au serveur en utilisant un type de protocole réseau tel que HTTP
. Afin d'envoyer les données, vous devez bien sûr avoir une URL
comme cible. Disons que la cible est www.example.com/webservice.php
. Cette cible est notre service Web situé sur le serveur Web.
Une fois que vous avez envoyé les données, le serveur répondra avec certaines données, à quel point vous pourrez en faire ce que vous voulez. Peut-être l'afficher à l'utilisateur, ou le coller dans un SQLite
base de données, ou même les deux.
L'essentiel à retenir est qu'il n'y a pas de magie. Tout ce que je viens de décrire sera implémenté dans du code Java que vous écrirez dans votre application Android à un moment donné.
Idées clés que vous devriez rechercher davantage et découvrir comment les implémenter dans le code Java :
- JSON et XML
- HTTP en Java
- REPOS et SAVON
- ici est une excellente vidéo sur les manières possibles de configurer la structure de votre application Android.
- Assurez-vous que vous effectuez toutes les opérations de réseau dans votre application Android sur un thread différent. Une méthode facile à utiliser est un Intent Service .
Service Web :
C'est souvent la partie la plus déroutante. Un Web Service
est simplement un point d'entrée pour les clients qui tentent d'accéder au Web Server
. Mon explication ici peut différer légèrement lors de l'utilisation de RoR
, mais la même idée s'applique. Notez ci-dessus que l'URL
cible était www.example.com/webservice.php
. Le service Web est littéralement le PHP
code qui existe sur le serveur Web, appelé webservice.php
. Dans votre application Android, lorsque vous envoyez des données à l'URL
cible en utilisant HTTP
, le code du Web Service sera exécuté sur le serveur (et aura également accès aux données que vous lui avez transmises). À l'intérieur de votre code de service Web, vous allez essentiellement extraire les données (qui sont dans un format tel que JSON), saisir les parties nécessaires, puis en faire quelque chose. Dans ce cas, vous interrogerez probablement la base de données. En PHP, il est facile d'écrire du code qui se connecte et interroge une base de données MySQL qui s'exécute également sur le serveur. Lorsque la réponse de la base de données est récupérée par le serveur Web, vous pouvez la renvoyer à l'application Android. Comme avant, rappelez-vous, il n'y a pas de magie. Toutes ces idées sont implémentées en écrivant du code.
Principales idées à rechercher :
- Service Web Ruby on Rails
- Comment accéder à une base de données MySQL à l'aide de Ruby on Rails
Base de données MySQL :
C'est là que vous stockerez les données sur le serveur Web. Je ne vais pas approfondir cela ici car cela va simplement vous obliger à lire beaucoup sur la façon de configurer une base de données MySQL sur un serveur Web. Il est également important que vous appreniez à créer les requêtes appropriées telles que SELECT
, INSERT
et ainsi de suite.
Principales idées à rechercher :
Comment configurer une base de données MySQL sur un serveur Web
Si vous avez besoin d'éclaircissements, faites-le moi savoir !