cocos中tinyxml在android下的问题
来源:互联网 发布:java远程连接ssh主机 编辑:程序博客网 时间:2024/06/06 08:44
转载请注明:http://blog.csdn.net/einsteinlike/article/details/41543237
在ios_mac中 读取xml时会这么写:
tinyxml2::XMLDocument configXML; std::string path = FileUtils::getInstance()->fullPathForFilename("maps/maps.xml"); CCLog("liujianlog : %s " ,path.c_str()); configXML.LoadFile(path.c_str());但是移植到android后这部分就会出现闪退,通过log看出是loadFile内部异常:
XMLError XMLDocument::LoadFile( const char* filename ){ DeleteChildren(); InitDocument(); FILE* fp = 0;#if defined(_MSC_VER) && (_MSC_VER >= 1400 ) && (CC_TARGET_PLATFORM != CC_PLATFORM_MARMALADE) errno_t err = fopen_s(&fp, filename, "rb" ); if ( !fp || err) {#else fp = fopen( filename, "rb" );//返回了NULL if ( !fp) {#endif SetError( XML_ERROR_FILE_NOT_FOUND, filename, 0 );//就是这里 return _errorID; } LoadFile( fp ); fclose( fp ); return _errorID;}
这里就要说一下fopen的用法了,android下是支持标准库中的fopen的,但是,fopen必须是一个暴露出来的文件,而cocos将资源文件都打包在了apk中!所以fopen读取不到了就。
解决方法是使用 getFileDataFromZip ;cocos的fileutils_android中的getFileData内部就是使用的这个方法,所以可以这样写:
long size; char *pFileContent = (char*)FileUtils::getInstance()->getFileData( "maps/maps.xml" , "r", &size); tinyxml2::XMLDocument configXML; configXML.Parse(pFileContent, size);参考:http://codingnow.cn/cocos2d-x/939.html
0 0
- cocos中tinyxml在android下的问题
- Cocos在android studio下的开发
- 在cocos界面中添加android的view
- TinyXml 在iPhone下的解析
- tinyxml在wince下的用法
- tinyxml在wince下的用法
- Symbian下tinyXML的内存泄露问题
- 在C++中Tinyxml的基本使用
- tinyxml在Windows Mobile/windows ce 5.0项目下使用的问题
- 在MAC系统中android studio中打开 cocos creator构建的原生工程
- Cocos2d-lua-3.8.1在Cocos code ide中创建新项目的问题
- cocos-js在android平台下打开网页
- TinyXml在xml中插入新的数据
- Cocos中在.h文件定义的指针类型变量不实例化会在析构时出现问题
- 在 Ios下编译cocos
- Cocos在windows7下的配置与apk打包
- Cocos移植到Android的一些问题-中文乱码问题
- Linux下TinyXml的编译
- android 按两次返回键退出
- 价值与价格的问题
- 学数据结构和算法
- 简单单链表实现
- Hadoop2.5.1完全分布式安装
- cocos中tinyxml在android下的问题
- 0x00007c00到0x00007dff 启动区内容的装载地址
- 实现文字的左右滑动
- 信息安全基础知识(二)消息摘要与数字签名
- Oracle EBS:PO 常用的查询及Tips
- CocoStuido 2.x中发布的资源怎样在cocos2dx 3.x中使用
- SQL学习(3) 查询 SELECT
- scriptEngine使用
- http://www.appcoda.com/ios-programming-course/