iPhone应用程序只读数据库的最佳选择是什么?

时间:2014-05-05 17:45:12

标签: ios database sqlite

我想制作一些信息应用,其中用户只能准备数据.DB每行只包含文字段+ 1张图片。我的问题是,做这件事的好方法是什么?我将来需要向DB添加更多数据,并提供更多信息。

如果我的数据库大小为30-40MB,那么将它们放在应用程序中是否合适呢?就像预加载SQlite并将其附加到app。

我想知道我是否创建自己的服务器,是否值得,因为它不是大数据库,也不需要保存用户数据。

1 个答案:

答案 0 :(得分:0)

30-40MB没有达到iOS OTA下载的限制,但它有点笨重。如果它是一个静态数据库你是否考虑过把它放在S3上?请尝试以下方法:

  1. 使用您希望的方式创建一个JSON文件,并将其放在公共S3链接上。对于图像,使用也托管在S3上的URL(或者你想用它来服务的任何文件服务器......我只说S3,因为它非常普遍)。
  2. 当应用启动时,去抓取JSON文件,如下所示:

    NSURL *pathToJSON = [NSURL URLWithString:@"http://someurl..."];
    NSURLRequest *request = [NSURLRequest requestWithURL:pathToJSON];
    [NSURLConnection sendAsynchronousRequest:request queue:nil completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSError *error;
        id json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
    }];
    
  3. 然后,您可以选择立即在本地下载和缓存图像,或者只是根据需要获取图像。这样您就可以获得服务器更新的所有好处,而无需维护真正的API服务器。