sqlite3问题。
我在assets下有个game.db3,里面存着,我预先的数据。
请问我怎么能够读出来?。。。
试了很多方法,都搞不懂。。
求大神能够告诉小弟 一个思路
人工顶置!!!!!!!!
把game.db3复制到sd卡中
— Begin quote from ____
引用第3楼xieejianglin于2014-05-09 09:14发表的 :
把game.db3复制到sd卡中 http://www.cocoachina.com/bbs/job.php?action=topost&tid=200924&pid=947522
— End quote
啊啊啊啊,感谢你的回复。
我也想过这个方法,但是具体怎么做,有没有教程呢?。
谢谢你了。
同问,
我.MK 文件里也加了 sqlite3.c文件了,
但到安卓手机上就直接程序闪退了
使用android层的代码复制到自己的私有空间【小的时候,大的还是到sdcard】!
具体代码搜索android读取assets的
assets在压缩文件,需要解压缩代码,所以还是用android层代码解出来先!
搜索 android读取assets
然后再用jni调用?
在OnCreate里检查是否存在,不存在读取你的数据库文件并写到持久存储器上:882:
然后使用你的sqlite3代码正常操作即可【也可以用android代码】
了解了,最后问你一个问题哈。
怎么直接用cocos2d-x的代码 复制文件呢?
1-> std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(“game.db3”);
2-> std::string path=CCFileUtils::sharedFileUtils()->getWriteablePath()+“game.db3”;
怎么把1读到的文件,复制到2中?
1.如果你的路径不是android里的assets,那么可以用FILE -> fopen fread fclose 或者FileUtils::getData
2.同样fwrite
晕,有歧义。1.【如果你的路径不是android里的assets,那么可以用FILE -> fopen fread fclose 】或者【FileUtils::getData】或者【参考FileUtils::getData】
移植到android不都是要把资源放在assets吗?。
。。。
那我直接用fwrite?。。。
去cocos2dx官网论坛翻帖子。
得到结论。
1、use CCFileUtils::getFileData() to read the sqlite file into a char*
2、use standard ofstrem to write the char* into a file in CCFileUtils::getWriteablePath() (in android is /data/data/xxx/xx)
3、than you can use sqlite3_open() to open the file in step 2。
晚上回去试试,谢谢两位热心的网友
啊啊啊啊,十分感谢你。
不过我用2.2.3,不知道可以不