钛,保存最后查看窗口的状态

时间:2013-09-19 12:58:04

标签: javascript titanium

我想知道当用户退出应用程序时是否存在保存上次查看窗口的功能,因此当他们再次进入应用程序时,会转到上次查看的页面,而不是重新启动。我看过Ti.App.Properties,但还没找到我想要的东西。任何人都可以指出我正确的方向,或者甚至是可能的。

由于

2 个答案:

答案 0 :(得分:1)

Ti.App.Properties是要走的路。

如果您只想保存用户所在的窗口,只需保存每次窗口更改时用户所在的当前窗口。

如果要保存当前状态,正如标题所示,您还需要创建一个javascript对象来保存页面上的所有数据,执行JSON.stringify(object)然后将该字符串保存在属性中同样。

答案 1 :(得分:1)

有一个代码示例可用于管理上次打开的窗口的状态:

// Windows types
var TYPE_HOME = 'HomeWindow',
    TYPE_BLUE = 'BlueWindow';

// Properties' keys
var PROPERTY_LAST_OPENED_WIN = 'lastOpenedWindow';

// open the last opened window
var win = openLastWindow();

// Uncomment to open the blue window
// Then, comment and reopen the app => the blue window will be opened
//createAndOpenBlueWindow();

// Save the last window configuration
function setLastWindow(params) {
    Ti.App.Properties.setString(PROPERTY_LAST_OPENED_WIN, JSON.stringify(params));
}

// Create and open the last window opened
// (the function you have to call when you re-open the app)
function openLastWindow() {
    var params = JSON.parse(Ti.App.Properties.getString(PROPERTY_LAST_OPENED_WIN, '{}'));

    switch (params.type) {
        case TYPE_HOME: return createAndOpenHomeWindow();
        case TYPE_BLUE: return createAndOpenBlueWindow();
        default       : return createAndOpenHomeWindow();
    }
}

// Create a window with the given params AND
// save this window as last opened window
function createAndOpenWindow(params) {
    var win = Ti.UI.createWindow(params);
    setLastWindow(params);

    win.open();

    return win;
}

// Create windows of type "HomeWindow"
function createAndOpenHomeWindow() {
    return createAndOpenWindow({type:TYPE_HOME, backgroundColor:'#FF0000'});
}

// Create windows of type "BlueWindow"
function createAndOpenBlueWindow() {
    return createAndOpenWindow({type:TYPE_BLUE, backgroundColor:'#0000FF'});
}

由于 openLastWindow 功能,此代码会创建并打开最后一个窗口。

首次打开应用时,主页将会打开(红色)。

通过取消注释这一行:

//createAndOpenBlueWIndow();

下次运行应用时,您将打开 BlueWindow

然后,重新评论此行。将打开蓝色窗口(因为它是最后一次打开)。

希望这有帮助!