[ 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

コメントを残す

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