2010-08-20 100 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