2011-07-27 95 views
4

有人可以向我解釋從遠程數據庫檢索數據的過程嗎?我知道如何將數據從sqlite解析到iPhone應用程序,但遠程數據庫似乎更復雜。我試圖做研究,但我對Web服務,雲和其他我不熟悉的單詞感到困惑。到目前爲止,我收集到我需要使用JSON將數據庫中的數據轉換爲顯示在php頁面上的相應格式?那麼iPhone應用程序連接到該頁面並檢索數據?從遠程數據庫檢索數據

有人能夠給我一個簡要的解釋(也可以用什麼數據庫與JSON?在這種情況下)?我會非常感激(也如果有人有任何教程/文章關於這將是感激的)。對不起,如果我完全錯了,試圖學習...

回答

3

這是很多方法來建立一個系統,你有一個客戶端應用程序,從運行數據庫的「遠程」系統檢索數據。關於服務器運行的內容以及客戶端的內容,您有許多選擇......並且存在涉及此技術的世界......

由於您對學習感興趣,因此我建議您考慮到這種系統的一個非常常見的架構並深入研究。

一個這樣的例子是LAMP(Linux,Apache,MySQL,PHP),你可以在this site找到一個很好的教程。

本教程涵蓋了您設置系統,檢索數據並通過網頁傳遞回來所需的一切;它是一步一步的,很容易遵循。唯一沒有涉及的是JSON,但最終JSON只是一種來回傳遞數據的格式,您可以通過this tutorial輕鬆瞭解關於它的基礎知識。

最後,我建議看看如何建設an iPhone app getting JSON data。這將是您加入前兩篇教程的關鍵。

+0

謝謝,我現在正在通過教程。爲了清除我腦海中的一些混淆,從數據庫中獲取信息以顯示在iphone上的過程是什麼?這是否是這樣的..? (假設信息被我的JSON消耗掉了)。數據庫 - > PHP腳本,從數據庫中檢索數據 - > JSON(以適當的格式寫入) - > iPhone? –

+1

你說得對。我會這樣改述:服務器端PHP腳本查詢數據庫並以JSON格式格式化輸出;客戶端應用程序向該PHP腳本發送請求,以JSON格式獲取數據並將其轉換爲「本地」數據類型(NSArray,NSDIctionaries等);那麼UI將填充數據。 – sergio

1
  1. 如果您在服務器端有Web服務協議,則可以使用基於JSON的Web服務來檢索您的數據。如果你遵循任何JSON教程,你可以看到JSON只是數據的文本表示。

  2. 或者您可以簡單地使用一個發佈請求到您的服務器,它可以通過簡單的XML與您自己定義的標籤進行響應。以便您可以使用NSXMLParser來解析iPhone中的數據並從中解碼信息。

遠程站點中的任何一種數據庫都可以工作。我更喜歡免費的開源MySQL數據庫。

使用JSON網絡服務,您需要爲服務器端和客戶端的數據庫部署一些JSON轉換器。一個很好的開源客戶端工具是SBJSONParser。

但是,如果您使用XML,則可以定義自己的標記來對數據庫字段和信息進行編碼和解碼。