gpt4 book ai didi

sqlite - 将现有的SQLite数据库导入iOS Phonegap应用

转载 作者:行者123 更新时间:2023-12-03 15:37:34 32 4
gpt4 key购买 nike

我有一个名为data_items.sqlite的现有SQLite数据库。该数据库包含大约10个表和一些初始数据,我想将这些数据导入XCode以使用Phonegap插件以这种方式打开数据库:

function onDeviceReady() {
var db = window.sqlitePlugin.openDatabase("data_items.sqlite", "1.0", "PhoneGap Demo", 200000);
...
}


如何导入数据文件?我必须在哪里复制文件?

最佳答案

首先使用名称data_items.sqlite创建数据库,并删除.sqlite扩展名。然后将此数据库拖到xCode的Resources目录中,然后按照next进行操作。

选择添加文件的选项框将会出现
选中复选框说“将项目复制到目标组的文件夹(如果需要)”并完成。

您将看到数据库文件作为资源目录的子列表

抱歉,我没有足够的声誉在此处发布图片

现在,单击链接将此数据库文件复制到位置

How to copy sqlite database when application is launched in iOS?

我在AppDelegate.m中最后一行的@end之前使用了以下代码

    - (void) copyDatabaseIfNeeded{
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
_dbPath = [self getDBPath];

BOOL success = [fileManager fileExistsAtPath:_dbPath];

if(!success){
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"data_items"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:_dbPath error:&error];
if (!success)
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}}
/********* Database Path *********/
- (NSString *) getDBPath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *documentsDir = [paths objectAtIndex:0];

return [documentsDir stringByAppendingPathComponent:@"data_items"];
}


并复制行

[self copyDatabaseIfNeeded];


在代码之后

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
CGRect screenBounds = [[UIScreen mainScreen] bounds];


而已。使用您的代码

function onDeviceReady() {
var db = window.sqlitePlugin.openDatabase("data_items", "1.0", "data_items", 200000);
...
}


您也可以直接从复制的位置编辑数据库。使用以下链接

Where does the iPhone Simulator store its data?

关于sqlite - 将现有的SQLite数据库导入iOS Phonegap应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13629247/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com