参考
- 導入編
- SQLite対応のGUIの検討
- 過去の記事(SQLite対応のGUI)
- C#とSQLiteについて
- 過去の記事(C#によるSQLiteの操作)
- UnityとSQLiteについて
- 過去の記事(SQLiteとUnity)
- データベースの周辺知識
- 過去の記事(データベースの種類や用語)
本題
1. SQLiteUnityKitの導入
冒頭参考の「導入編」リンク先の解説に従い、SQLiteUnityKitを自身のProjectに加える。ただし、SqliteDatabase.csには知っておくべき内容があるのでチェックした方が良い。下に示すのはSqliteDatabase.csのコンストラクター(初期化)を抜粋したものである。注意点
- 冒頭参考の「UnityとSQLiteについて」で語られていた内容がここに当たる
- Android端末はStreamingAssetsに直接アクセスできない
- データベースをPersistentDataPathにコピーする
- これによりAndroid・iOS共に同じ記述で処理できるようになる
- コピーが起きる条件は下記のいずれかである(上記スクリプトの9行目)
- 引数で受け取った名前のファイルがPersistentDataPathに無い場合
- ファイルの更新日を比較して、PersistentDataPathの方が古い場合
特にファイルの更新日でデータベースが上書きされてしまうのが厄介。File.Copyの第3引数のtrueは「上書き保存を許可する」の意味である。これにより、端末に保存したユーザーデータが簡単にリセットされてしまう。
コピー条件の後者は削除して、「ファイルが存在しない時のみコピー」とした方が無難。完全に書き換えたい場合は、PersistentDataPathのファイルを削除すれば良い。これにより同名のファイルが無くなるので、StreamingAssetsからコピーされる。なお、こちらのサイトでは引数を増やして対応していた。
0 件のコメント:
コメントを投稿