cocos2dx 在android平台打开文件问题
在网上查到资料能够通过调用cocos2dx里的getFileData() 这个函数来读取文件内容,getFileData通过检測不同的平台。调用不同的接口的来打开和读取文件,在ios和windows上依旧没问题,可在android上调用读取文件时还是打不开文件。试了非常多方法都不能够。找公司还有一同事来帮忙查看。将路径改动后问题解决。
string relativePath = "scripts/test.pb"; // this is ok
string relativePath = "./scripts/test.pb"; // this can not open the file"
当时大家也不知道为啥这样能解决。当时想可能是linux不支持这种路径。回家后在linux实验,就算我加几个”./“都不影响打开文件夹。查看了cocos2d-x 底层,发现android部分是调用的ndk里的AAssetManager_open方法,仅仅能看到头文件看不到源码。然后在google上搜索了关于这个函数的相关信息,也没啥收获,就在stackoverflow提问。
果然有大神回答,而且引用了github上关于这部分的源码。看了源码才想明确。原来不是去通过这个路径打开文件。而是去一个文件管理器查找,我的文件路径里有“./“,和原路径去比較。自然是找不到,到此这个疑问消除了。
这次事情启演示样例如以下:
1、开源的优点。在遇到问题的时候仅仅须要看下源码就能够了,相对闭源的东西,遇到问题仅仅能去查看文档。假设文档写得不清楚。我觉得这种库最好不要用。一旦遇到问题欲哭无泪。
2、有时在解决这个问题的时候不要太逞强,技术人员都觉得没有解决不了的问题,但有时确实会发生:“不识庐山真面目,仅仅缘身在此山中”,自己把自己绕进去,找个局外人或许一下子就发现了。
3、在学习计算机过程。一点一滴慢慢积累,打好基础,不要求快和新。在真正遇到问题的时候,还的看经验和基础。
4、不管是书上还是名人说的不一定对。仅仅有通过计算机检验的东西。才是正确的。
參考:
1、github上关于这部分的源码
cocos2dx 在android平台打开文件问题的更多相关文章
- 关于文章“cocos2dx移植android平台-我的血泪史”需要注意事项
关于文章"cocos2dx移植android平台-我的血泪史"需要注意事项 在上次转载的这篇文章中,按照配置一步一步的下去.发现工程中在Android.mk中有一处错误.直接bui ...
- 为Cocos2d-x的Android平台加入Protobuffer支持
为Cocos2d-x的Android平台加入Protobuffer支持 分类: 工作2013-11-27 18:00 386人阅读 评论(1) 收藏 举报 cocos2d-xandroid平台交叉编译 ...
- [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
参考链接: http://blog.chinaunix.net/uid-26009923-id-3430612.html http://hi.baidu.com/hpyfei/item/52a2b21 ...
- cocos2dx 搭建 android 平台
Mac OS X下配置Cocos2d-x for Android(Eclipse)&IOS(Xcode)开发环境 前面一段时间只用Cocos2d-x在IOS平台下开发, 学习Cocos2d-x ...
- cocos2dx移植android平台-我的血泪史
版权声明:本文由( 小塔 )原创,转载请保留文章出处! 本文链接:http://www.zaojiahua.com/android-platform.html 本人这几天一直都没有跟新自己的网站内容, ...
- cocos2dx移植android平台
本人这几天一直都没有跟新自己的网站内容,问我干什么去了,当然是做这篇文章做的事了,说起这个移植来真是麻烦啊,网上试验了各种方法,都不知道谁对谁错啊.不过经过本人这三天的研究最后终于成功了,为了让大家少 ...
- cocos2dx 搭建 android 平台 -2
1.配置Cocos2d-x for Xcode. 这一块比较简单, 可以参见其他文章. 重点:install-templates-xcode.sh 2.配置普通Android开发环境 这一块包括JDK ...
- TalkingData Cocos2dx在android平台使用总结
前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助: 首先非常感谢您使用TalkingData游戏统计平台 ...
- 【Cocos2d-x】Cocos2d-x跨Android平台搭建之四:Win7 64位+ eclipse + cocos2dX
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...
随机推荐
- NSFileHandle类
Objective-C使用NSFileHandle类对文件进行基本操作,IOS文件操作 NSFileHandle类中得方法可以对文件进行基本的读写,偏移量的操作.NSFileHandle基本步骤:1. ...
- MySql-count(*)与count(id)与count(字段)之间的执行结果和性能分析
在mysql数据库中,当我们需要统计数据的时候,一定会用到count()这个方法,那么count(值)里面的这个值,到底应该怎么选择呢!常见有3种选择,(*,数字,列名),分别列出它们的执行结果和性能 ...
- Go:错误处理
在默认情况下,当程序发生错误(panic)后,程序就会退出(崩溃),所以我们希望,当程序发生错误后,可以捕获到错误,并进行处理,保证程序可以继续执行.比如捕获到错误后,打入日志或给管理员一个提示(邮件 ...
- AutoEncoders变种
目录 PCA V.S. Auto-Encoders Denoising AutoEncoders Dropout AutoEncoders PCA V.S. Auto-Encoders deep au ...
- Django的admin源码浅析和模仿
admin模块: admin提供了5种接口 list_display, 指定数据展示字段,不能放多对多字段
- C++ 赋值运算符重载
类的定义 class Test{ int id; public: Test(int i): id(i){ cout << "obj_" << i <& ...
- 87-Moving average of oscillator,移动平均振荡指标.(2015.7.4)
Moving average of oscillator 移动平均振荡指标 ~计算: OSMA = MACD-SIGNAL 注释:OSMA的值即为MACD中两个主要指标线的差值 ~思想: 该指标当作一 ...
- Quartz.Net 学习之路02 初探Quartz.Net
第二讲:简单的实例,看看Quartz.Net强在哪里? 直接上代码,代码里有注释: using System; using Quartz; using Quartz.Impl; namespace L ...
- 【04】 CSS开发注意事项
[04] CSS注意事项 1. 页面编码规范 1.1. 统一使用 UTF-8 编码,用@charset "utf-8"指定页面编码. 1.2. 全局字体设置: windows 7系 ...
- python标准库笔记
1.python互联网数据处理模块 base64数据编码 二进制数据 encode ASCII字符 ASCll字符 decode 二进制数据 json数据交换格式 轻量的数据交换格式,json暴露的A ...