将SQLite添加到Android NDK项目 我是Android开发者,但在Android NDK中是新手,现在我正尝试通过Android NDK编写C++应用程序,所有与数据库的工作也应该用C++代码完成。我将sqlite添加到项目中(我不确定是否正确):我下载并将这四个文件(shell.c、sqlite3.c、sqlite3.h、slite3ext.h)保存到src/main/cpp/sqlite文件夹中。这是我的CMakeList.txt,我将sqlite添加到该项目中: add_library(native-lib SHARED src/main/cpp/native-lib.cpp src/main/cpp/sqlite/sqlite3.c )
我做得对吗?我如何在代码中使用它(连接到数据库、创建表、插入数据、更新数据…)您的项目中需要有以下3个文件:将SQLite添加到Android NDK项目 我是Android开发者,但在Android NDK中是新手,现在我正尝试通过Android NDK编写C++应用程序,所有与数据库的工作也应该用C++代码完成。我将sqlite添加到项目中(我不确定是否正确):我下载并将这四个文件(shell.c、sqlite3.c、sqlite3.h、slite3ext.h)保存到src/main/cpp/sqlite文件夹中。这是我的CMakeList.txt,我将sqlite添加到该项目中: add_library(native-lib SHARED src/main/cpp/native-lib.cpp src/main/cpp/sqlite/sqlite3.c ),android,c++,sqlite,android-ndk,Android,C++,Sqlite,Android Ndk,我做得对吗?我如何在代码中使用它(连接到数据库、创建表、插入数据、更新数据…)您的项目中需要有以下3个文件:sqlite3.c,sqlite3.h,sqlite3ext.h(不确定最后一个文件)。基本操作(创建数据库、创建表和插入值): 插入: bool insertToDb(CityWeather *pCityWeather) { sqlite3 *db; char *zErrMsg = 0; int rc; /* Open database */ r
sqlite3.c
,sqlite3.h
,sqlite3ext.h
(不确定最后一个文件)。基本操作(创建数据库、创建表和插入值):
插入:
bool insertToDb(CityWeather *pCityWeather) {
sqlite3 *db;
char *zErrMsg = 0;
int rc;
/* Open database */
rc = sqlite3_open(databaseName, &db);
if (rc) {
sqlite3_open_v2(DB_FILE, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL);
}
const char *pCityName = pCityWeather->getName().c_str();
char insertQuery[50];
strcpy (insertQuery,"INSERT INTO cities (name) VALUES ('");
strcat (insertQuery, pCityName);
strcat (insertQuery, "');");
puts (insertQuery);
delete pCityWeather;
/* Execute SQL statement */
rc = sqlite3_exec(db, insertQuery, callback, 0, &zErrMsg);
if (rc != SQLITE_OK) {
sqlite3_free(zErrMsg);
}
sqlite3_close(db);
return true;
}
bool insertToDb(CityWeather *pCityWeather) {
sqlite3 *db;
char *zErrMsg = 0;
int rc;
/* Open database */
rc = sqlite3_open(databaseName, &db);
if (rc) {
sqlite3_open_v2(DB_FILE, &db, SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE, NULL);
}
const char *pCityName = pCityWeather->getName().c_str();
char insertQuery[50];
strcpy (insertQuery,"INSERT INTO cities (name) VALUES ('");
strcat (insertQuery, pCityName);
strcat (insertQuery, "');");
puts (insertQuery);
delete pCityWeather;
/* Execute SQL statement */
rc = sqlite3_exec(db, insertQuery, callback, 0, &zErrMsg);
if (rc != SQLITE_OK) {
sqlite3_free(zErrMsg);
}
sqlite3_close(db);
return true;
}