iPhone - 访问MySql服务器?
我基本上试图从MySql服务器检索一些数据,并将它们显示在我的iphone上。假设我有一个名为“car”的表,并且我需要将我的表的10行发送到我的iphone。iPhone - 访问MySql服务器?
1-是否有任何可能的方式发送实际数组的对象“汽车”到我的iphone。或者它必须是一个字符串。
2-如果必须是字符串,最好使用什么格式? XML或JSON或其他格式?
3- SOAP是否与Web服务相同?如果不是有什么区别?
4-什么是最好的语言来处理iPhone和数据库之间的数据传输?使用php是个好主意吗?
1 - 是的,你应该序列化服务器端的对象数组,并将其发送给iphone。然后反序列化并使用它。
2 - JSON或XML,都有好的和bd的东西。现在就使用JSON。任何服务器语言都支持它(php,ruby,python),并且您可以在iPhone上使用Apple或第三方JSON解析器。012 - 这些消息在客户端和服务器之间交换。该服务器功能暴露被称为“Web服务”
4 - PHP,Ruby on Rails的,的Python(Django的)...
访问数据库,我通常会发送到脚本的请求(我用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
。
好吧我很困惑,答案1和2.如果可以发送一个(自定义)对象数组,那么使用XML或JSON有什么意义? – aryaxt 2010-08-20 23:31:00
我不确定你的意思是“自定义对象”。 “面向对象编程”意义上的任何对象都可以被序列化为:XML,JSON,文本文件。一旦你这样做,你可以通过网络发送它。 XML通常用于表示项目具有名称的树层次结构,JSON通常是数组的散列或散列数组,并显示为键/值对的集合。 – Zepplock 2010-08-20 23:36:18
oooo ok通过序列化你意味着将对象数组转换为xml或jason字符串对吗? 所以SOAP是格式化(序列化)字符串的另一种方式,就像xml或json一样? – aryaxt 2010-08-20 23:58:58