Androidのアセットにデータベースファイル(SQLite3)を含めることで、アプリからデータベースを参照することが可能です。詳しくは下記のTipsをご覧ください。

ただし、Androidのassetsフォルダに配置できるのは、最大1MBのファイルになっている模様です。

そこで、jsWaffleでもファイルを分割して assets に配置する方法を用意しました。

まず、ファイルを分割します。分割サイズは、1MB以下にします。そして、ファイルは、「ファイル名.ファイル番号」の形式で配置します。

+ /assets/www/data/
| - hoge.db.1
| - hoge.db.2
| - hoge.db.3
| - hoge.db.4
| - hoge.db.5

そして、初回起動時にSDカードにファイルをコピーするコードを記述します。

<script>
var savepath = "/sdcard/hoge.db";
if (!droid.fileExists(savepath)) {
  droid.mergeSeparatedAssetsFile("www/data/hoge.db", "/sdcard/hoge.db");
}
</script>

ファイル分割スクリプト1

以下、1MBごとにファイルを分割するツールを用意しました。Windowsのバッチファイル+Rhinoで作っています。

http://aoikujira.com/wiki/js-android-w/ftpup/20120423124107-bunkatu-tools.zip

(すみません。上記のツールは、name0,name1,name2...とファイル名をつけてしまうので、番号が1から始まるように修正してみてください。)

分割したいファイルをドラッグ&ドロップするだけで分割します。

ファイル分割スクリプト2

日本語プログラミング言語「なでしこ」( http://nadesi.com )を使った方法は以下です。スクリプトをダウンロードしたら、なでしこで実行してください。

http://aoikujira.com/wiki/js-android-w/ftpup/20120423124426-file-splitter.nako