手順(3) ライブラリの取り込み

すると、Ajax ライブラリの選択画面になります。ここでは、Ajax ライブラリの中でも軽量で使い勝手の良い jQuery を使うことにしました。jQuery にチェックを入れて、[Finish]ボタンをクリックします。(Aptanaでは、このように Ajaxライブラリの取り込みまで自動でやってくれるので便利です。)

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>