您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x数据存储

2015-06-04 16:08 639 查看
分别是使用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包含到项目下:



以上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: