2013-09-19 2 views
1

Мне интересно, есть ли функция сохранения последнего просматриваемого окна, когда пользователь покидает приложение, поэтому, когда они снова заходят в приложение, он переходит на последнюю просматриваемую страницу, вместо перезапуска. Я посмотрел на Ti.App.Properties, но на самом деле не нашел то, что искал. Может ли кто-нибудь указать мне в правильном направлении, или если это возможно.titanium, сохранить состояние последнего просматриваемого окна

Благодаря

+0

Что вы не нашли о недвижимости, которую ищете? – eliot

ответ

1

Ti.App.Properties это путь.

Если вы хотите сохранить только то окно, в котором находился пользователь, просто сохраните текущее окно, которое пользователь будет при каждом изменении окна.

Если вы хотите сохранить текущее состояние, как предлагает ваш заголовок, вы также захотите создать объект javascript, содержащий все данные на странице, сделать JSON.stringify (object), а затем сохранить эту строку в собственности.

+0

Это для задания, поэтому на самом деле я неправильно сформулировал свой вопрос, я действительно не ищу функцию, так как это не входит в область назначения (на данном этапе). Это больше касается просто сохранения окна, поэтому, когда приложение снова запускается, оно возвращается к последнему просмотренному окну. Как сохранить текущее окно? –

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 в следующий раз, когда вы запускаете приложение.

Затем пересмотреть эту строку. Синее окно будет открыто (так как оно открыто).

Надеюсь, это поможет!

+0

спасибо за это :-). У меня есть код, разделенный по модели MVC. я бы поставил функции в файле app.js, чтобы сделать его глобальным? –

Смежные вопросы