2012-08-23 69 views
1

現在我正處於大學項目的中間階段,涉及iPhone開發。 該項目由一個帶mysql數據庫和多個客戶端(IPhone設備)的網絡服務器組成。關於Iphone和Web服務器通信的多個問題

我正在努力與基本的cocept,這是在iPhone和Web服務器之間的通信(接收,發送數據)。

我已經建立了一個Web服務器與MYSQL數據庫。我也有一個PHP腳本訪問數據庫並將數據寫入XML文件。

1)什麼是最好的方式來進行客戶端(IPhone)?

2)是否可以直接訪問.php文件並將XML下載到iPhone?

3)什麼將被下載到iPhone?整個XML文件還是XML內容?

然後,我會繼續使用XML解析器(最好是NSXMLParser)處理XML文件。

4)如何將接收到的數據永久存儲在iPhone上? NSMutableArray裏?如果在iPhone設備上添加了任何數據,則此功能是脫機模式所必需的。

這使我想起我的最後一個問題:

5)我如何將數據發送回Web服務器?或者更具體地說,我必須使用哪種數據結構才能將數據發送回網絡服務器?什麼是合理的方式來做到這一點?例如:創建一個新的XML文件並將其發送回網絡服務器?

此致 亞歷

回答

1

必須將數據協議是XML?我會選擇JSON作爲數據協議! 如果你可以使用JSON,那麼看看輕量級的SBJson框架。在iOS上使用JSON over XML會容易得多,相信我!

總結其他問題,關於服務器通信等! 您是從頭開始編寫網絡代碼還是允許您使用現有的開放框架的強制性前提條件?如果你可以使用框架然後f.e.看看MKNetworkKit!它將帶走幾乎所有編寫或合併自己的網絡代碼帶來的麻煩,並且它已經包含了JSON序列化/反序列化。

如果沒有,那麼去NSURLConnection,NSURLResponse和可能一些NSOperation/NSOperationQueue異步處理,並有一些樂趣! :-) 不要忘了蘋果的Reachability.h/m! ;-)

對於設備上的數據持久要麼去與CoreData,這是非常強大的,但mybe(關於複雜性)來的開銷爲你的目的。或者只是在NSUserDefaults中儲存你的東西!

+0

我會用JSON去。 iOS有一個NSJSONSerialization類:http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html哦,它是iPhone,而不是iPhone。注意細節。 – jcm

+0

嘿!謝謝你的提示。在與SBJSON混戰後,我繼續了NSJSON。完美的作品!至少有一小步完成:) – Alex

+0

嗨亞歷克斯,如果它幫助你,爲什麼不投票!:) –