2010-08-20 97 views
0

我基本上試圖從MySql服務器檢索一些數據,並將它們顯示在我的iphone上。假設我有一個名爲「car」的表,並且我需要將我的表的10行發送到我的iphone。iPhone - 訪問MySql服務器?

1-是否有任何可能的方式發送實際數組的對象「汽車」到我的iphone。或者它必須是一個字符串。

2-如果必須是字符串,最好使用什麼格式? XML或JSON或其他格式?

3- SOAP是否與Web服務相同?如果不是有什麼區別?

4-什麼是最好的語言來處理iPhone和數據庫之間的數據傳輸?使用php是個好主意嗎?

回答

2

1 - 是的,你應該序列化服務器端的對象數組,並將其發送給iphone。然後反序列化並使用它。

2 - JSON或XML,都有好的和bd的東西。現在就使用JSON。任何服務器語言都支持它(php,ruby,python),並且您可以在iPhone上使用Apple或第三方JSON解析器。012 - 這些消息在客戶端和服務器之間交換。該服務器功能暴露被稱爲「Web服務」

4 - PHP,Ruby on Rails的,的Python(Django的)...

+0

好吧我很困惑,答案1和2.如果可以發送一個(自定義)對象數組,那麼使用XML或JSON有什麼意義? – aryaxt 2010-08-20 23:31:00

+0

我不確定你的意思是「自定義對象」。 「面向對象編程」意義上的任何對象都可以被序列化爲:XML,JSON,文本文件。一旦你這樣做,你可以通過網絡發送它。 XML通常用於表示項目具有名稱的樹層次結構,JSON通常是數組的散列或散列數組,並顯示爲鍵/值對的集合。 – Zepplock 2010-08-20 23:36:18

+0

oooo ok通過序列化你意味着將對象數組轉換爲xml或jason字符串對嗎? 所以SOAP是格式化(序列化)字符串的另一種方式,就像xml或json一樣? – aryaxt 2010-08-20 23:58:58

0

訪問數據庫,我通常會發送到腳本的請求(我用PHP,但有很多選擇)與我的數據庫進行交互,並讓腳本以plist格式發回xml。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<array> 
    <string>item1</string> 
    ... 
    <string>itemn</string> 
</array> 
</plist> 

如果您不需要參數發送到你可以用方便的方法,如initWithContentsOfURL:腳本,其中url是腳本,將輸出從數據庫中的項目。

如果您想要發送二進制數據而不是字符串,您可以使用NSURLConnection從服務器取回NSData。然後您可以從[NSPropertyListSerialization dataWithPropertyList:format:options:error:]方法創建NSArray