分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式:
主要代码:
bool DataScene::init(){ if (!Layer::init()){ return false; } auto data = UserDefault::getInstance(); const std::string key1 = "KEY1"; const std::string key2 = "KEY2"; data->setBoolForKey(key1.c_str(),true); data->setStringForKey(key2.c_str(), "DATA"); if (data->getBoolForKey(key1.c_str())){ log("TRUE"); } else{ log("FALSE"); } log(data->getStringForKey(key2.c_str()).c_str()); auto fileUtils = FileUtils::getInstance(); if (fileUtils->isFileExist("girls.plist")) { log(fileUtils->fullPathForFilename("girls.plist").c_str()); log("Exists"); } sqlite3 *pDB = NULL; char *errMsg = NULL; int result = sqlite3_open("hero.db", &pDB); if (result == SQLITE_OK){ log("OK"); result = sqlite3_exec(pDB, "CREATE TABLE hero(id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(10) NOT NULL)", NULL, NULL, &errMsg); if (result == SQLITE_OK){ log("OK CREATE"); result = sqlite3_exec(pDB, "INSERT INTO hero VALUES(0,'LHYZ')", NULL, NULL, &errMsg); if (result == SQLITE_OK){ log("OK INSERT"); } else{ log(errMsg); } } else{ log(errMsg); } } return true; }
首次运行的结果:
第二次运行的结果:
找到数据库文件(Resources下才是):
数据包括:
注意使用sqlite3需要在官网上下载源代码,把其中的sqlite3.h和sqlite3.cpp包含到项目下:
以上。