1

I am wondering if there is a function for saving the last viewed window when a user quits the application, so when they go into the app again, it goes to the last viewed page, instead of restarting. I have looked at Ti.App.Properties but haven't really found what I was looking for. Can anyone point me in the right direction, or if this is even possible.

Thanks

4

2 に答える 2

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が開きます。

次に、この行を再度コメントします。青いウィンドウが開きます (最後に開いたウィンドウであるため)。

お役に立てれば !

于 2013-09-19T16:42:25.457 に答える
1

Ti.App.Properties がその方法です。

ユーザーが表示されていたウィンドウを保存するだけの場合は、ウィンドウが変更されるたびに、ユーザーが表示されている現在のウィンドウを保存します。

タイトルが示すように、現在の状態を保存する場合は、ページ上のすべてのデータを保持する JavaScript オブジェクトを作成し、JSON.stringify(object) を実行して、その文字列もプロパティに保存します。

于 2013-09-19T15:02:19.383 に答える