【cocos2dx】SQLiteを利用したデータ管理(保存、読み込み)

【cocos2dx】SQLiteを利用したデータ管理(保存、読み込み)
   

データの永続性を確保する際に、今まではUserDefaultクラスを利用してきました。
ただ、cocos2dxでは、それ以外にも方法があります。それが[SQLite]を利用する方法です。
今回は、この[SQLite]についてブログに書いていきたいと思います。

利用準備

SQLiteを利用する際に必要なことは以下の通りです。

SQLiteをダウンロードする

まずはサイトから、SQliteをダウンロードして下さい
SQLite Download Page

プロジェクトに追加する

必要なファイルは以下の3つです。
  • sqlite3.c
  • sqlite3.h
  • sqlite3ext.h
2014-6-10-hgdfd

ヘッダーで読み込む

後は利用する際に、ヘッダーを読み込みます。



Android側の設定

sqliteを読み込めるようにAndroid.mkを変更します。


実際に利用する

コードは非常に長いので、GitHubを利用します。
こちらを参考にして下さい。
GitHub : albatrus/SQLite_cocos2dx

元のコードは、「Cocos2d‐xレシピ本」を参考にしています。

SaveSQLクラスの利用準備

まず、ファイルをプロジェクトに追加をして下さい。
その後、ヘッダーで必要な場所で読み込んで下さい。


利用する

SaveSQLクラスでは、以下のことが可能です。
  • データベースの作成
  • [key][value]の設定
  • [value]の変更
  • [value]の取り出し

データベースの作成

まずは、データベースを作成します。


データベース名が[sample.db]、テーブル名が[test1]のデータベースが作成されます。
この、データベース名やテーブル名は好きに変更して下さい。

データベースに値を入力する

作成されたデータベースのテーブルに値を入れていきます。
今回作成しているテーブルは、[key][value]の2つの値があります。


このようにデータベースに値を設定していきます。

データベースに値を更新する

すでに設定されている[key][value]を更新するには、sqliteUpdateValueForKey()を利用します。



データベースに値を取り出します

[key]に対応する[value]を取り出します。


最後に

私は、これまでデータベースを触ったことがないですが、iOS/Android共に実機でデータ保存・読み込みができているので大丈夫だと思います。
ただ、実際に利用するにはSQLの構文をもっと勉強しないといけないと感じました。

この構文です。


今後、私がやりたい事は、複数のデータを管理していくことです。
UserDefaultクラスでは、keyに対して1つのデータしか管理ができないからです。
データの読み込み速度や、実際にそれができるかはまだ確認できていませんので、この辺りを上手くやっていきたいと思っています。

後、「Cocos2d-xでiPhone&Androidアプリ開発記7 SQLiteの注意点」というエントリーがとても気なっているのですが、今のところ問題が出てないので大丈夫なのかな。
もし、SQLに関して良い方法、またコードが間違っているなどありましたら、ぜひ連絡をいただけると嬉しいです。



Cocos2d‐x開発のレシピ―iOS/Android対応Cocos2d‐x開発のレシピ―iOS/Android対応
松浦 晃洋,齊藤 建二,古木 映治

秀和システム
売り上げランキング : 53292

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...