我想知道当用户退出应用程序时是否有保存最后查看的窗口的功能,所以当他们再次进入应用程序时,它会转到最后查看的页面,而不是重新启动。我查看了 Ti.App.Properties,但还没有真正找到我想要的东西。谁能指出我正确的方向,或者如果这是可能的。
谢谢
我想知道当用户退出应用程序时是否有保存最后查看的窗口的功能,所以当他们再次进入应用程序时,它会转到最后查看的页面,而不是重新启动。我查看了 Ti.App.Properties,但还没有真正找到我想要的东西。谁能指出我正确的方向,或者如果这是可能的。
谢谢
Ti.App.Properties 是要走的路。
如果您只是想保存用户所在的窗口,只需在每次窗口更改时保存用户所在的当前窗口。
如果您想保存当前状态,正如您的标题所示,您还需要创建一个保存页面上所有数据的 javascript 对象,执行 JSON.stringify(object),然后将该字符串也保存在属性中。
有一个代码示例可用于管理最后打开的窗口的状态:
// 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 。
然后,重新评论这一行。蓝色窗口将被打开(因为它是最后一次打开的)。
希望这可以帮助 !