首选我们讨论一下SQLite3数据库移植问题。我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一种是从SQLite官网下载源代码拷贝的工程中。第一种方法配置起来比较麻烦,关键是Cocos2d-x提供的SQLite3库只是Win32没有其它平台的,目录结构如下所示。
<游戏工程目录>\cocos2d\external\sqlite3
│ Android.mk
│
├─include
│ sqlite3.h
│ sqlite3ext.h
│
└─libraries
└─win32
sqlite3.dll
sqlite3.lib
因此,我们只能采用第二种方法,从SQLite官网下载源代码压缩包,将其中的sqlite3.h和sqlite3.c文件拷贝到工程的Classes目录,然后打开<游戏工程目录>\proj.android\jni\Android.mk文件,修改LOCAL_SRC_FILES内容如下:
LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp \
../../Classes/sqlite3.c
其中sqlite3.c是我们刚刚追加的,保存Android.mk文件后,使用Cocos工具交叉编译,在编译过程中如果我们能够看到,如图所示内容(cocos2dcpp_shared <= sqlite3.c),说明sqlite3编译通过了。
如果能编译成功就意味着SQLite3的移植工作成功了,我们可以编写访问数据代码了。
我们使用第三方库要么是头文件和源程序文件,要么是头文件和库文件(动态连接库.so或静态连接库.a)。SQLite3的移植我们采用了头文件和源程序文件。