ここでは、目標を達成するために知っておくべきことの概要を簡単に説明します。特に私は RoR を個人的に使用したことがないため、ここまで詳しく説明するつもりはありません。これらの部分の一部は RoR と正確に関連していない可能性がありますが、その背後にある一般的な考え方は依然として適用されます。個々のコンポーネントをどのように実装するかを調べて理解するのはあなたに任せます。
すべての大まかな流れは次のとおりです。
Android アプリ <==> ネットワーク <==> Web サービス <==> MySQL
データは両方向に流れるため、両刃の矢印に注意してください。
はAndroid App
クライアントで、Web Service
データベースMySQL
は にありますWeb Server
。完全を期すためにネットワーク部分のみを含めましたが、データがネットワークに送信されたら、何もする必要はありません。
各セクションの概要:
Android アプリ:
Android アプリは、Web サーバーからデータを送受信するクライアントです。あなたのアプリでは、ユーザーがいくつかのタスクを実行できるようにすることを想定しています。これは、本質的に、ある時点でサーバーに送信するデータになります。
たとえば、ユーザーは自分の名前と好きな動物を入力できる必要があります。ユーザーがクリックできる実際の「送信」ボタンがあるとします。この「送信」ボタンをクリックすると、データがネットワーク経由で送信される適切な形式にラップされます。最も一般的なのはJSON
との 2 つですXML
。データが適切にフォーマットされたら、 などのネットワーク プロトコルを使用してデータをサーバーに送信しますHTTP
。データを送信するためには、もちろんURL
ターゲットとしていくつかを持っている必要があります。ターゲットが であるとしましょうwww.example.com/webservice.php
。このターゲットは、Web サーバー上にある Web サービスです。
データを送信すると、サーバーは何らかのデータで応答し、その時点で、必要なことを何でも行うことができます。ユーザーに表示するか、SQLite
データベースに貼り付けるか、またはその両方を行うこともできます。
覚えておくべき重要なことは、魔法が起こっていないということです。今説明したことはすべて、ある時点で Android アプリケーションに記述する Java コードで実装されます。
さらに調査し、Java コードに実装する方法を理解する必要がある重要なアイデア:
- JSON と XML
- Java での HTTP
- REST と SOAP
- これは、Android アプリの構造をセットアップするための可能な方法に関する優れたビデオです。
- Android アプリですべてのネットワーク操作を別のスレッドで実行していることを確認してください。使いやすい方法はIntent Serviceです。
ウェブサービス:
多くの場合、これが最も紛らわしい部分です。AWeb Service
は、 にアクセスしようとするクライアントの単なるエントリ ポイントですWeb Server
。ここでの説明は、 を使用する場合は少し異なる場合RoR
がありますが、考え方は同じです。上記のターゲットURL
がであることに注意してくださいwww.example.com/webservice.php
。Web サービスは、文字どおり、PHP
Web サーバー上に存在する と呼ばれるコードですwebservice.php
。URL
Android アプリで、次を使用してターゲットにデータを送信するときHTTP
、Web サービス コードがサーバー上で実行されます (また、サーバーに送信したデータにもアクセスできます)。Web サービス コードの内部では、基本的にデータ (JSON などの形式) を抽出し、必要な部分を取得して、それを使って何かを行います。この場合、データベースにクエリを実行する可能性が高くなります。PHP では、サーバー上でも実行されている MySQL データベースに接続してクエリを実行するコードを簡単に記述できます。データベースの応答が Web サーバーによって取得されたら、それを Android アプリに送り返すことができます。前と同じように、覚えておいてください、魔法は起こっていません。これらのアイデアはすべて、いくつかのコードを記述することによって実装されます。
調査する主なアイデア:
- Ruby on Rails Web サービス
- Ruby on Rails を使用して MySQL データベースにアクセスする方法
MySQL データベース:
これは、Web サーバー上のデータを格納する場所です。ここでは、Web サーバーに MySQL データベースをセットアップする方法について多くのことを読む必要があるため、ここでは詳しく説明しません。SELECT
などの適切なクエリを作成する方法を学習することも重要ですINSERT
。
調査する主なアイデア:
Web サーバーに MySQL データベースをセットアップする方法
説明が必要な場合は、お知らせください。