#iphone #sql
#iPhone #sql
Вопрос:
Может ли кто-нибудь помочь мне для:
-
Как мы можем создать копию базы данных?
-
Как мы можем открыть эту базу данных в iPhone?
-
Как мы можем создать папку в нашем пути к приложению?
-
Как мы можем скопировать папку с файлами в нашем пути к приложению?
Ответ №1:
«Для создания копии базы данных …»
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [paths objectAtIndex:0];
NSString *finalPath = [documentPath stringByAppendingPathComponent:@"test.sqlite"];
success = [fileManager fileExistsAtPath:finalPath];
if(success)
{
NSLog(@"Database Already Created.");
return;
}
NSString *defaultPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"test.sqlite"];
success = [fileManager copyItemAtPath:defaultPath toPath:finalPath error:amp;error];
if(success)
{
NSLog(@"Database Created Successfully.");
}
«Для Открытия этой базы данных …»
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [paths objectAtIndex:0];
NSString *finalPath = [documentPath stringByAppendingPathComponent:@"test.sqlite"];
if(sqlite3_open([finalPath UTF8String], amp;database) != SQLITE_OK)
{
sqlite3_close(database);
NSLog(@"Error to Open Database :- %s",sqlite3_errmsg(database));
}
«Для создания папки в пути к приложению»
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/FolderName"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
{
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:amp;error];
}
«Для копирования файлов и папок в приложении»
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/FolderName"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
{
BOOL successs;
NSString *defaultPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Files/FolderName"];
successs = [[NSFileManager defaultManager] fileExistsAtPath:defaultPath];
if(successs)
{
NSLog(@"TRUE");
NSString *strFile = [NSString stringWithFormat:@"%@",dataPath];
NSLog(@"File :- '%@'",strFile);
[fileManager copyItemAtPath:defaultPath toPath:strFile error:amp;error];
}
else
NSLog(@"FALSE");
}