概要
cocos2d-xのアプリ内でも、マスタデータなどをSQLで扱えると便利だなと思ったので導入。
環境
- Mac OS X Yosemite 10.10.1
- Cocos2d-x v3.3
- SQLite 3.8.7.4
準備
SQLiteのソースをダウンロード
こちらのSource Codeからzipファイルをダウンロードする。
externalにファイルを追加
cocos2d/external/sqlite3/
|- Android.mk
|- sqlite3.c
|- sqlite3.h
`- sqlite3ext.h
ダウンロードしたソースファイルを上記の場所にコピペする。
最初からsqlite3がある場合は全て削除して一から作る。
Android.mkについては後述する。
iOSで使えるようにする
cocos2d_libs.xcodeproj/external/sqlite3/
|- sqlite3.c
|- sqlite3.h
`- sqlite3ext.h
Xcode上で上記ファイルを追加する。
-
Add Files to ..
を選択 -
cocos2d/external/sqlite3/
を選択 - Added folders は
Create groups
を選択 - Add to targets は libcocos2d iOS を選択
- 上記以外のファイルは
Delete > Remove References
する
これでiOSでビルドできる。
Androidで使えるようにする
ライブラリのビルド設定を追加
cocos2d/external/sqlite3/Android.mk
こちらをコピペする。
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sqlite3_static
LOCAL_MODULE_FILENAME := libsqlite3
LOCAL_SRC_FILES := sqlite3.c
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../cocos
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../cocos \
$(LOCAL_PATH)/../../cocos/platform/android
include $(BUILD_STATIC_LIBRARY)
アプリのビルド設定を変更
proj.android/jni/Android.mk
こちらをコピペする。
追加したのは以下の2行だけ。
LOCAL_STATIC_LIBRARIES += sqlite3_static
$(call import-module,sqlite3)
はい!これでAndroidでも使えるー!
ツール
Lita
こちらからインストール。
アプリ内で作成したDBにアクセスする際は、作成したDBファイルのパスを出力しておく。