Palm應用開發之五Scene模板

Scene(場景)模版

      通過前面幾節我們已經瞭解到Scene是Palm應用的重要組成部分,Palm應用就是由一個個Scene組成的,每一個Scene就是整個舞臺的一個場 景,或者理解成一個卡片,我就是這樣理解的。那麼我們創建一個應用就是創建出一個個Scene,將這些scene按照一定的邏輯組織起來就會形成一個簡單 的應用,既然scene如此重要,那麼就來單獨的研究一下scene。首先在Eclipse中創建一個Scene:選中應用 ->file->New-Other… 打開創建類型對話框如下圖:

image

在對話框中選擇Palm Applaction下的Mojo Scene 然後Next 出現如下對話框:

image

填寫scene的名稱,點擊Finish完成創建。

創建完scene以後我們看看整個項目發生哪些變化呢?看看hellowworld目錄

image  

可以看到多出了兩個文件app/assistants/main-assistant.js和app/views/main/main-scene.html同時在sources.json中還多出了一個配置如下圖:

image

這個配置是必須的,整個項目的js資源文件到都要在這裏配置(前面已經詳細說過了)。

那麼不難看出一個scene模板包含了三方面的內容:

1. 一個控制器(controller),存放在項目app/assistants下面,文件名是創建scene時的名字+“-assistant.js” (如:app/assistants/main-assistant.js),它負責scene導航、邏輯數據處理等等。

2.一個視圖 (view),存放在app/views/main下面,每創建一個scene就會在app/views下面創建一個子目錄,並且在子目錄中創建一個 Html文件,子目錄名稱和創建scene時的名稱相同。文件的命名規則是,創建scene時的名稱+“-scene.html” (如:app/views/main/main-scene.html),它負責與用戶交互。

3.在sources.json中爲應用應入控制器的js文件引用。

其 中視圖文件是空的,什麼也沒有,開發者可以在這個文件中使用html,css或者使用Mojo的Widget來設計絢麗的用戶界面。那麼控制器 (controller)顯得就重要和複雜的多了,控制着界面怎麼顯示,數據邏輯等等,這個文件可能是在寫程序是關注最多的地方。

Scene Assistant 模板

每創建一個scene後打開控制器文件,我們都會發現有如下創建好的js代碼文件,我們稱其爲scene assistant模板:

image  

上圖中的一個方法和4個事件是創建main這個scene時自動創建的。熟悉Prototype的人對這樣的代碼應該很熟悉吧。

MainAssistant:是構造函數,用於系統初始化以及接收上一個頁面傳過來的參數(構造函數的名字是創建scene的名稱的第一個字母大寫+Assistant構成)

setup:主要是完成widget的初始化裝載以及系統數據的初始化

activate:主要是事件在被觸發頁面發生變化的時候這個事件會被觸發

deactivate:在當前頁面退出或者在這行“垃圾回收”時觸發

cleanup:頁面銷燬時執行,負責“垃圾回收”以及資源釋放。

scene  assistant的生命週期和asp.net 頁面的執行週期類似,但是要比asp.net簡單的多,只有這四個事件。從頁面的產生到消亡的過程中它們的執行順序如下:

initialize(constructor)--->setup--->activate--->deactivate--->cleanup

scene是一個重點,在palm開發的過程中一直都在和scene打交道,掌握scene所包含的內容以及其運行的週期可以開發出更高效的palm應用。


作者:藍之風
出處:http://www.cnblogs.com/vaiyanzi/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章