cocos2d-x sqlite3 android上open失败

来源:互联网 发布:建筑规范数据 编辑:程序博客网 时间:2024/06/06 09:38

android真的很纠结很多权限都没有,以下是android平台打开数据库的方法 话不多说上代码

bool databaseoperate::openDatabase(void){//打开一个数据库,如果该数据库不存在,则创建一个数据库文件 if (pDB == NULL){#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)std::string sqlname = "save.db";unsigned long size;std::string m_DBDir = CCFileUtils::sharedFileUtils()->getWritablePath() + sqlname;//std::string m_DBDir = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath(sqlname.c_str());char *pFileContent = (char*)CCFileUtils::sharedFileUtils()->getFileData(sqlname.c_str(), "rb", &size);FILE * pf = fopen(m_DBDir.c_str(), "wb");if (! pf){CCLog("sql open failed!%d",222);return false;}fwrite(pFileContent, 1,size, pf);fflush(pf);fclose(pf);//std::string m_DBDir = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("data.db");if(SQLITE_OK != sqlite3_open(m_DBDir.c_str(), &pDB)){CCLog("sql open failed!%d",123);return false;}return true;#elsestd::string filename = CCFileUtils::sharedFileUtils()->fullPathForFilename("save.db");result = sqlite3_open(filename.c_str(), &pDB); CCLog( "filename%s\n" , filename.c_str());if( result != SQLITE_OK ) {CCLog( "not open :%s ,error:%s\n" , filename.c_str(), errMsg );return false;}else{return true;}#endif}return false;}



sqlite3 源码下载地址http://download.csdn.net/detail/zhengyayuan123/5337513


原创粉丝点击