将Web图像保存到Sqlite

时间:2010-01-02 11:03:49

标签: iphone sqlite uiimage

我有一个应用程序,它将Web图像设置为主页的背景。从下次加载主页背景时,我的应用程序只存储带有地址的名称。这是我的代码:

Sqlite *sqlite = [[Sqlite alloc] init];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, SUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"Database.db"];

if (![sqlite open:writableDBPath])
    return;
NSURL *url = [NSURL URLWithString:@"http://mmabigshow.com/app/admin/ring_girl_demo.php"];
NSString *greeting = [[NSString alloc] initWithContentsOfURL:url];
NSString *string1 = @"";

string1 = [NSString stringWithFormat:@"UPDATE mma_bg_image SET image='%@' where id='1';", greeting];

我想要做的是,当我将一些图像设置为背景时,它应该作为UIImage对象存储在手机的本地数据库中,以便从下次开始加载更快。 我应该使用Sqlite吗?请将流程的总源代码粘贴给我。

2 个答案:

答案 0 :(得分:11)

为什么不将图像存储在文件系统中? 当然,您可以将其存储到数据库中,但它不会使您的应用程序更快。 在插入之前,您必须使用NSData对文件进行编码,然后在显示之前对其进行解码 我会将文件存储在文件系统中,只保留数据库中的路径。

修改
  你真的,布拉德

答案 1 :(得分:4)

我提供了代码,用于在this answer中的SQLite数据库中存储UIImages并加载它们。

此致,另一位布拉德