手順(3) ライブラリの取り込み
すると、Ajax ライブラリの選択画面になります。ここでは、Ajax ライブラリの中でも軽量で使い勝手の良い jQuery を使うことにしました。jQuery にチェックを入れて、[Finish]ボタンをクリックします。(Aptanaでは、このように Ajaxライブラリの取り込みまで自動でやってくれるので便利です。)
手順(4) プログラムの記述
初期状態では、メインファイルの「TodoMemo.html」が開くと思いますが、開いていなければ、Project パネルからこのファイルをダブルクリックで開きます。そして、このファイルを次のようなプログラムに書き換えます。
<html><head><style type=text/css>
#memo {
position:absolute;
left:50px;
top:50px;
width:230px;
height:100px;
}
</style>
<script src="AIRAliases.js"></script>
<script src="lib/jquery/jquery.js"></script>
</head>
<body background="back.png">
<textarea id="memo"></textarea>
<div id="info"></div>
<script>
var TODOFILE = "app-storage:/todo.txt";
// 起動したときに
$(document).ready(function(){
var s = loadFromFile(TODOFILE);
$("#memo").val(s);
// テキストが変更されたら保存する
$("#memo").change(function(){
var s = $("#memo").val();
saveToFile(TODOFILE, s);
});
// ドラッグできるようにする
$(document.body).mousedown(function() {
window.nativeWindow.startMove();
});
// 終了できるようにする
$(document.body).dblclick(function() {
window.close();
});
});
// 汎用ライブラリ
// ファイル名からファイルの内容を読んでテキストで返す
function loadFromFile(local_filename) {
var file = new air.File(local_filename);
var str = null;
if (file.exists == true) {
var read_fs = new air.FileStream();
read_fs.open(file, air.FileMode.READ);
str = read_fs.readUTFBytes(file.size);
read_fs.close();
}
return str;
}
// ファイルにテキストを保存する
function saveToFile(local_filename, text) {
var file = new air.File(local_filename);
var write_fs = new air.FileStream();
write_fs.open(file, air.FileMode.WRITE);
write_fs.writeUTFBytes(text);
write_fs.close();
}
</script>
</body></html>