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