Каков наилучший способ загрузки исходных данных базы данных в приложение для iOS? - PullRequest
2 голосов
/ 24 ноября 2011

Я разрабатываю приложение, которое при первом входе пользователя в систему должно загрузить много данных с моего сервера и сохранить их в локальной базе данных в моем приложении iOS.

На моем сервере я использую MySQL. И мне нужно загрузить 70MB ... в мое приложение iOS, чтобы использовать эти данные локально, с подключением или без него.

Как лучше всего загрузить эти данные? XML в архиве? Экспорт в файл SQLite, архивирование этого файла и загрузка?

Можете ли вы порекомендовать какой-либо подход?

Ответы [ 3 ]

4 голосов
/ 24 ноября 2011

Если база данных на сервере динамическая;Хороший подход состоит в том, чтобы создать API для доступа к данным базы данных на сервере, вы можете создать API через PHP и заставить приложение просто читать ответы данных в формате JSON или XML.

Другой подход, если база данныхявляется статическим и часто не обновляется, это означает добавление базы данных SQL в приложение IOS в качестве базы данных SQLite и просто запускать локальные запросы sql в приложении.

0 голосов
/ 28 августа 2015

Да, вы можете экспортировать его в SQLite, сжать и загрузить, используя AFNetworking.

NSString *yourFileURL=@"http://yourFileURL.zip";
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:yourFileURL]];
AFURLConnectionOperation *operation =   [[AFHTTPRequestOperation alloc] initWithRequest:request];

NSString *cacheDir = [NSSearchPathForDirectoriesInDomains
                          (NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [cacheDir stringByAppendingPathComponent:
                      @"youFile.zip"];

operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];

[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
   //show here your downloading progress if needed
}];

[operation setCompletionBlock:^{
    NSLog(@"File successfully downloaded");
}];

[operation start];
0 голосов
/ 24 ноября 2011

Мы используем веб-сервисы и SOAP для передачи данных с сервера на устройство.Вы должны изучить веб-сервисы SOAP и REST.Вы в основном получаете обратно XML, который вы можете анализировать и использовать для создания соответствующих объектов.

Хотя это может быть слишком много для того, что вы пытаетесь сделать, стоит посмотреть.Кроме того, данные могут храниться в базе данных SQLite, которая поддерживается на большинстве мобильных платформ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...