从Document目录中获取SQLite数据

时间:2013-06-26 05:01:35

标签: ios sqlite

我有一个sqlite数据库存储在Document目录中,图像名称存在于表的一列中。图像存储在应用程序包中。图像是通过使用代码在列中给出imga的名称直接来的。 .means不需要指定任何路径..只是名字很好。

现在如果我将图像动态存储在文档目录中并直接在Sqlite db的image列中给出图像的名称,我就无法获取它。我是否需要指定任何到达那里的路径..在应用程序包中图像是直接来的。

5 个答案:

答案 0 :(得分:5)

是。您需要在文档目录中指定sqlite文件的路径。

或者使用以下代码和相应的图像名称(图像位于文档目录中):

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagePath = [documentsDirectory stringByAppendingPathComponent:@"img.png"];
yourImageView.image = [UIImage imageWithData:[NSData dataWithContentsOfFile:imagePath]];

答案 1 :(得分:0)

您可以获得如下目录路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];

要获取图像,您必须在此路径后附加图像名称。您的数据库中有数据,因此您可以获取imagename。

答案 2 :(得分:0)

如果数据库中的值只是图像的名称(例如" someimage.png"),那么您有两种可能:

1)如果图像在应用程序包中,则使用UIImage imageNamed:方法从数据库中使用值。我相信你已经有了这个工作。

2)如果图像在Documents目录中,那么您还需要做更多的事情。您需要获取Documents目录的完整路径,然后将文件名(从数据库)附加到路径。这将为您提供Documents目录中图像的完整路径。然后要加载图像,您需要使用传递完整文件路径的UIImage imageWithContentsOfFile:方法。

答案 3 :(得分:0)

使用此代码。

  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory35 = [paths objectAtIndex:0];


//Essential Info
NSString *fullPathEssentialInfo = [documentsDirectory35 stringByAppendingPathComponent:@"EssentialInfo.txt"];   

这是实现的代码。谢谢

答案 4 :(得分:0)

这里有一个访问SQLite的示例项目:https://github.com/AaronBratcher/ABSQLite