applicationDataDirectory への書き込み
Ti.Filesystem.applicationDataDirectory への書き込みで iPhone と Android で違いがあったのでメモ。
Titanium Mobile 1.7.5 で確認。
iPhone では以下のように書くと書き込める。
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, fileName); f.write(blob);
けど、Android だと IOException encountered と出て書き込めない。
以下のようにディレクトリを作成してあげると書き込める。
var directory = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory, "hoge"); if(!directory.exists()) { directory.createDirectory(); } var f = Ti.Filesystem.getFile(directory.nativePath, fileName); f.write(blob);
あと、書き込み権限の確認で File オプジェクトのプロパティとして writeable というのが Titanium Studio のオートコンプリートで補完されるけど、writable が正しい。