MonacaとPhoneGap触って見ました。使用OSはAndroid。
で、ローカルファイルシステムはどうなってるんだろうかと。
基本的にW3CのFile APIを使うようになってるみたいです。
こんなのをHTML側の適当なボタンから呼び出して動作を確認してみます。
function showFSInfo(fs) {
alert(fs.name + "\n" + fs.root.name + "\n" + fs.root.fullPath);
}
function fsdemo01persistent() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, showFSInfo, null);
}
function fsdemo01temporary() {
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, showFSInfo, null);
}
function fsdemo02write() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function(fs){
fs.root.getFile("foo.txt", {create: true},
function(fileEntry) {
alert("fullpath=" + fileEntry.fullPath);
fileEntry.createWriter(
function(writer) {
writer.onwrite = function(evt) { alert("success"); }
writer.write("Hello");
},
function(fileError) { alert(fileError.code); }
);
},
function(fileError) { alert(fileError.code); }
);
},
function(fileError) { alert(fileError.code); }
);
}
function fsdemo03write_temp() {
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0,
function(fs){
fs.root.getFile("bar.txt", {create: true},
function(fileEntry) {
alert("fullpath=" + fileEntry.fullPath);
fileEntry.createWriter(
function(writer) {
writer.onwrite = function(evt) { alert("success"); }
writer.write("This is temporary file.");
},
function(fileError) { alert(fileError.code); }
);
},
function(fileError) { alert(fileError.code); }
);
},
function(fileError) { alert(fileError.code); }
);
}
アプリケーション名:myApp
パッケージ名:your.app.name
でデバッグ版でビルドします。
この辺、PhoneGapの仕様としてそうなっているのか、Monaca独自のカスタマイズでそうなっているのかは不明です。
ただ、sdcardに保存されるという点から、あんまり重要情報は保存したくないなぁという感じです。他のアプリからも読み書き出来てしまいますので・・・。
FileSystem以外の感想としては、
他、参考サイト:
なんというか、N88-BASIC触ってるような感触を受けました。単純といえば単純なんだけど、アイデア次第で結構面白いの出来るんじゃないか、とか、プログラミングの入り口としても良さそうだな、とか。PhoneGapという制限範囲の中でどんな「捻り」を思いつくのかとか、そんな面白さがある気がします。