[英]Android - Ruby on Rails - MySQL
我已經開始研究一個Android應用程序,我們需要使用MySQL作為數據庫,使用Ruby on Rails作為服務器端代碼。 我們也將在設備上使用SQLLite(將在需要時同步DB)。 我搜索了網絡,找不到任何相關的教程/示例,可以作為開始的基礎。
我已經完成了MySQL和ROR教程,但仍然對將Android與ROR連接起來感到困惑。
有人可以分享一些相關的教程/代碼片段,可以解釋技術的完整鏈接。 我的意思是如何將數據從Android設備發送到MySQL,反之亦然。 我從理論上了解這個概念,但不知道如何以及從哪里開始。
我真誠地對提出這樣一個基本問題表示歉意,或者我聽起來含糊不清,但我是初學者,需要完成這項任務。 在預期中感謝..
以下是您應該了解的目標的簡要概述。 我不會那么詳細,特別是因為我從未親自使用過RoR。 請注意,其中一些部分可能與RoR無關,但其背后的一般概念仍然適用。 我將由您來研究並弄清楚如何實現每個單獨的組件。
一切的一般流程如下:
Android App <==>網絡<==> Web服務<==> MySQL
請注意雙刃箭頭,因為數據將在兩個方向上流動。
Android App
是客戶端, Web Service
和MySQL
數據庫位於Web Server
。 我只包含了網絡部分的完整性,但是一旦將數據發送到網絡,您就不必做任何事情。
每個部分的簡要概述:
Android應用:
Android App是從Web服務器發送和檢索數據的客戶端。 我假設在您的應用程序中,您將允許用戶執行某些任務,這些任務本質上會成為您希望在某個時刻發送到服務器的數據。
例如,用戶應該能夠輸入他的名字和喜愛的動物。 假設用戶可能會點擊一個實際的“提交”按鈕。 單擊此“提交”按鈕時,它應將數據包裝成適當的格式以通過網絡發送。 其中兩個最常見的是JSON
和XML
。 一旦數據格式正確,您將需要使用某種類型的網絡協議(如HTTP
將數據發送到服務器。 為了發送數據,您當然必須有一些URL
作為目標。 讓我們說目標是www.example.com/webservice.php
。 此目標是位於Web服務器上的Web服務。
一旦發送數據,服務器將回復一些數據,此時您可以隨意執行任何操作。 可能會將其顯示給用戶,或者將其粘貼到SQLite
數據庫中,甚至兩者中。
要記住的關鍵是沒有魔法。 我剛剛描述的所有內容都將以Java代碼實現,您將在某些時候在Android應用程序中編寫。
關鍵想法你應該更多地研究並弄清楚如何在Java代碼中實現:
網絡服務:
這通常是最令人困惑的部分。 Web Service
只是嘗試訪問Web Server
客戶端的一些入口點。 在使用RoR
,我的解釋可能略有不同,但同樣的想法適用。 請注意,目標URL
為www.example.com/webservice.php
。 Web服務實際上是Web服務器上存在的PHP
代碼,稱為webservice.php
。 在Android應用程序中,當您使用HTTP
將數據發送到目標URL
,Web服務代碼將在服務器上執行(並且還可以訪問您發送給它的數據)。 在Web服務代碼中,您基本上將提取數據(以某種格式,如JSON),獲取必要的部分,然后使用它。 在這種情況下,您很可能會查詢數據庫。 在PHP中,編寫連接和查詢也在服務器上運行的MySQL數據庫的代碼很容易。 當Web服務器檢索到數據庫的響應時,您可以將其發送回Android應用程序。 和以前一樣,請記住,沒有任何魔法可言。 所有這些想法都是通過編寫一些代碼來實現的。
研究的主要思路:
MySQL數據庫:
您可以在此處將數據存儲在Web服務器上。 我不打算深入研究這一點,因為這只是要求您在如何在Web服務器上設置MySQL數據庫時進行大量閱讀。 學習如何創建適當的查詢(如SELECT
, INSERT
等)也很重要。
研究的主要思路:
如何在Web服務器上設置MySQL數據庫
如果您需要任何澄清,請告訴我們!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.