[ Titanium Mobile ] TableView の値と並び順を JSON で保存し、次回の起動時に復元するサンプル #titaniumjp

TableView の値と並び順を JSON で保存し、次回の起動時に復元する Titanium Mobile のサンプルです。

サンプルコード ———————————————————————-

var fileName = ‘test.txt’;
var rowData = [];

//———————————————————-

// 起動時にファイルを探して読み込む
var file  = Ti.Filesystem.getFile(
    Ti.Filesystem.applicationDataDirectory + ‘../Documents/’ + fileName
);
var json = file.read();

//———————————————————-

if ( !json || json.length = 0) {
    // 保存データが無かった場合、初期値をセット。
    rowData = [
        {title:"あああああ"},
        {title:"いいいいい"},
        {title:"ううううう"},
        {title:"えええええ"},
        {title:"おおおおお"}
    ];
} else {
    // 保存データがあった場合
    var rowData = JSON.parse(json);
}

//----------------------------------------------------------

var win = Ti.UI.createWindow();

tv = Ti.UI.createTableView({
    data:rowData,
    editable:true,
    moveable:true
});
tv.editing = true;

//----------------------------------------------------------

function SaveRows ( data ) {
    // JS オブジェクトを JSON 文字列に変換して書き込み
    var json = JSON.stringify( data );
    var file  = Ti.Filesystem.getFile(
        Ti.Filesystem.applicationDataDirectory + '../Documents/' + fileName
    );
    file.write(json);
};

//----------------------------------------------------------

tv.addEventListener('delete', function(){ // 削除された時
    SaveRows ( tv.data[0].rows );
});
tv.addEventListener('move',function(){ // 移動された時
    SaveRows ( tv.data[0].rows );
});

//----------------------------------------------------------

win.add(tv);
win.open();

開発環境

  • Titanium Mobile SDK 1.7.5
  • iOS SDK 5.0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です