在Cocos2d-x中,简单数据存储,可以使用UserDefault。那么如何存储大量,不规则的数据?我们可以使用sqlite数据库存储数据。sqlite是使用非常广泛的嵌入式数据库,它有小巧 、高效、跨平台、开源免费和易 *** 作的特点。
sqlite数据库是使用C语言来编写的,那么在Cocos2d-x使用sqlite也是得心应手。
准备首先创建一个Cocos2d-x v3.x的helloworld工程,我们将以该工程作为sqlite集成与用法的实战工程。
打开终端,使用如下命令新建工程:
1 | cocos new HelloWorld -p com.your_company.HelloWorld -l cpp |
按照上面的 *** 作,我们新建了一个Cocos2d-x v3.x的HelloWorld工程。
iOS/MaciOS/Mac的系统库自带sqlite库,我们只需添加libsqlite3.0.dylib库即可。
AndroID
AndroID系统没有自带sqlite库,我们需要手动添加。
1.下载sqlite包
下载地址:http://www.sqlite.org/download.html下载后,在项目中导入sqlite3.c和sqlite3.h两个文件即可。
2.导入到工程
3.修改AndroID.mk
使用sqlite
打开HelloWorldScene.cpp文件,我们在里面加入sqlite的使用示例
引入头文件
sqlite3 *pdb=NulL; //1 std::string path= fileUtils::getInstance()->getWritablePath()+ "save.db" ; //2 std::string sql; int result; result=sqlite3_open(path.c_str(),&pdb); //3 if (result!=sqlITE_OK) { log ( "open database Failed,number%d" ,result); } |
sql= "create table student(ID integer primary key autoincrement,name text,sex text)" //1 |
result=sqlite3_exec(pdb,sql.c_str(),NulL,NulL); //1 (result!=sqlITE_OK) "create table Failed" ); |
"insert into student values(1,'student1','male')" ; (result!=sqlITE_OK) "insert data Failed!" ); "insert into student values(2,'student2','female')" ; (result!=sqlITE_OK) ); "insert into student values(3,'student3',monospace!important; Font-size:1em!important; min-height:inherit!important; background:none!important">; (result!=sqlITE_OK) 向表中插入3条数据 查询 |
评论列表(0条)