Как мы можем загрузить базу данных sqlite из URL и добавить ее в наше приложение как базу данных sqlite? - PullRequest
8 голосов
/ 12 марта 2012

Я использовал базу данных sqlite в своем приложении. Я хочу синхронизировать эту базу данных с моим сервером mysql. Но я думаю, что в моем приложении легко заменить существующую базу данных новой базой данных. Так, это также решит проблему экспорта импорта данных.Но я не знаю, как загрузить файл .sqlite из моего URL-адреса и добавить его в свой комплект приложений.

Простым способом. Я хочу добавить файл в папку ресурсов Xcode во время выполнения.сделать это.Пожалуйста, помогите мне, если у кого-нибудь есть идея.

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 12 марта 2012

Попробуйте следующий код:

NSData *dbFile = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.someurl.com/DatabaseName.sqlite"]];

NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle]  resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];

NSString *filePath = [resourceDocPath stringByAppendingPathComponent:@"Database.sqlite"];

[dbFile writeToFile:filePath atomically:YES];

Теперь вы можете использовать этот файл базы данных.

0 голосов
/ 25 июня 2014

Чтобы добавить загруженную базу данных в приложение в качестве базы данных sqlite, попробуйте следующий код

NSString *dbfilepath = [FileUtils documentsDirectoryPathForResource:[NSString stringWithFormat:@"%@.db", @"downloadedDatabase"]];
NSData *dbData = [NSData dataWithContentsOfFile:dbfilepath];

NSString *filePath = [[FileUtils documentsDirectoryPath] stringByAppendingPathComponent:@"Database.sqlite"];

[dbData writeToFile:filePath atomically:YES];

Теперь база данных приложения готова с импортированными записями.

...