Cocos2d-x数据存储
2015-06-04 16:08
639 查看
分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式:
主要代码:
首次运行的结果:
第二次运行的结果:
找到数据库文件(Resources下才是):
数据包括:
注意使用sqlite3需要在官网上下载源代码,把其中的sqlite3.h和sqlite3.cpp包含到项目下:
以上。
主要代码:
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包含到项目下:
以上。
相关文章推荐
- cocos的TargetedAction动作类的使用
- cocos2dx中文乱码问题
- 【深入了解cocos2d-x 3.x】定时器(scheduler)的使用和原理探究(2)
- cocos2d
- Cocos国外大牛分享次世代画质3D案例
- cocos2dx - lua 中实现遮罩层和屏蔽层
- cocos2dx项目移植android平台使用第三方so库被删掉的问题
- quick-cocos2d-x的热更新机制实现
- cocos2dx 纹理优化
- cocos2dx 3.6 mac os 环境配置
- Cocos2d-x的学习之旅(三)自己的 HelloWorld
- cocos2dx 3.6 环境搭建笔记
- Android NDK Cocos2dx 3.4 Label中文显示
- Cocos2d-x SpriteFrameCache的使用
- cocos2dx 3.2截屏功能
- cocospods老是卡在Analyzing dependencies~~
- cocos2d-x 3.6版本学习笔记-内存管理之Node对象
- cocos2d安卓android长音效播放不完全
- cocos2d-x lua 触摸事件
- cocos2d-x lua 使用自定义消息EventCustom