2010-08-20 8 views
0

Я в основном пытаюсь получить некоторые данные с сервера MySql и отображать их на своем iphone Предположим, у меня есть таблица с именем «автомобиль», и мне нужно отправить 10 строк моей таблицы на мой iphone.iPhone - Доступ к серверу MySql?

1 Есть ли какой-либо возможный способ отправки фактического массива объектов «автомобили» на мой iphone. Или это должна быть строка.

2- Если это должна быть строка, какой формат лучше использовать? XML или JSON или любой другой формат?

3- Является ли SOAP таким же, как веб-услуги? если не в чем разница?

4 Какой язык лучше всего подходит для обработки данных между iPhone и базой данных? это хорошая идея использовать php?

ответ

2

1 - да, вы должны сериализовать массив объектов на стороне сервера и отправить его на iphone. Затем десериализуйте его и используйте.

2 - JSON или XML, оба имеют хорошие и bd вещи. Просто используйте JSON. Любой серверный язык поддерживает его (php, ruby, python), и вы можете использовать парсер JSON Apple или стороннего производителя на iPhone.

3 - SOAP - это способ сериализации сообщений. Эти сообщения обмениваются между клиентом и сервером. Обнажая функциональности сервера называется «Web Service»

4 - PHP, Ruby на Rails, Python (Django) ...

+0

ok Я запутался в ответе 1 и 2. Если можно отправить массив (пользовательских) объектов, то в чем смысл использования XML или JSON? – aryaxt

+0

Я не уверен, что вы подразумеваете под «пользовательскими объектами». Любой объект в смысле «Objective Oriented Programming» может быть сериализован в нечто: XML, JSON, текстовый файл. После этого вы можете отправить его по сети. XML обычно используется для представления иерархии деревьев, где элементы имеют имена, JSON обычно представляет собой массив хешированных или хеш-массивов и представляется в виде набора пар ключ/значение. – Zepplock

+0

oooo ok, поэтому сериализуя u означает преобразование массива объектов в xml или строку jason справа? так что SOAP - это еще один способ форматирования (сериализации) строки, такой как xml или json? – aryaxt

0

Чтобы получить доступ к базе данных я обычно посылает запрос на скрипт (я использую php, но есть много вариантов), который взаимодействует с моей базой данных и отправляет скрипт обратно xml в формате plist.

<?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 обратно на сервер. Затем вы можете создать NSArray из метода [NSPropertyListSerialization dataWithPropertyList:format:options:error:].

Смежные вопросы