--- 手機與布袋戲都是掌上乾坤
---- 人生如戲,Android手機如布袋戲的戲台
戲就一幕幕地演出,令人如痴如醉 ……
布袋戲台上有多位演員,Android 平台上有眾多應用程式(AP)。
布袋戲一幕一幕演出,Android 平台上一個一個Activity輪番上演。
布袋戲每一幕有好人或人等多個角色,Android 上有眾多Views。
布袋戲的每一幕的角色有空間佈局,Android 上也有Layout。
只差別在於:
1. 布袋戲裡,每一幕可由多位演員聯合演出。
2. 在Android裡,每一幕(Activity)只能由一位演員(AP)負責演出。
每一幕都由一群木偶互動而形成精彩內涵。這一群木偶的角色、空間的安排稱為
佈局(Layout)。每一幕的佈局和演出都有其特定的意涵和目的稱為意涵(Intent)
或意圖。由於會演出相同意涵的Activity(含Layout)及其幕後的AP可能很多。
在劇本(即我們的程式碼)裡,通常不會刻意去指定演員,而會詳細敘述每一幕的
意圖、屬性或條件。等到程式執行時,由手機上(即布袋戲台上)的Android
Run-time模組(即布袋戲台的導演)來機動性物色此時此刻能夠勝任的演員
(即最相配的Activity和其幕後的AP)來演出。
那麼導演又依據什麼來配對呢?這時Intent物件就派上用場了。有目前的演員
丟出一個Intent物件(內含下一幕的意圖、屬性或條件)給導演(即Android run-
time),導演就從目前戲台上的演員中,挑選出與此Intent內涵最相配的Activity,
然後請其幕後的AP上台演出。
如此讓全世界的人(AP)都有機會上台演出,導演的調度空間大、靈活度高,當
演員的候選人多了,導演就更輕鬆,劇本也更好寫了。
例如,我們在撰寫程式(編劇本)時,安排下一幕是要「上網查詢火車班次」時,
知道需要特定的服務(演出),但不刻意指定要IE來演出。這讓Andriod在程式執
行那一時刻,在眾人的不同手機環境裡,配對出能勝任的演員,有人的手機上有
IE就配IE,有人手機有FireFox就配FireFox等就地取材,相當靈活。每一Activity
通常含有三項敘述:
1. 角色與空間佈局--- 描述於.xml文件裡。
2. 執行期間的互動訊息處理--- 描述於.java程式碼裡。
3. Intent的內涵--- 描述於AP 的AndroidManifest.xml文件裡。
※ 每週三晚上的“台灣Android大舞台”研討會有更精采的
探討,歡迎光臨。 大舞台:www.misoo.com.tw