Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發-02-MVC架構

Android開發-02-MVC架構

編輯:關於Android編程

在開始Android開發前,必須先了解大名鼎鼎的Module-View-Control模式。


View: 顯示信息給用戶,並接受用戶操作。

Control: 相應各種事件,並進行相關處理。

Module:負責數據的獲取,加工處理與保存。


View設計與實現:

方案1:

采用Android默認的XML模式,層次結構: Layout -> View

動態UI: Fragment

方案2:

采用HTML,移植或實現HTML解析,動態創建管理GUI元素。

方案3:

自己設計GUI框架,實現GUI的管理與開發。


方案1的優缺點:

優點: 開發成本低,可以快速開發。

缺點:受Android平台框架限制,沒法提供行業專業領域的最優方案。

方案2:

就做日本BML解析器的經驗來看,復雜度很高,適合100人以上公司。

但可以快速移植其他平台的資源,適合快速開發。

方案3:

投入成本大,只適合大公司。但可以針對行業特點,提供應用領域的專業解決方案。

這方面遇見到的最好的開發工具是Embedded Wizard,開發效率是方案1的3-5倍,可惜一個授權5000歐元。

http://www.embedded-wizard.de/home.html


個人覺得可以先用方案1,在特定領域深入研究學習後,可以轉方案2或3。

方案3應該是最強大的,選擇了方案3其實就等價於你站在了Android開發者位置。

這個時候,你可以選擇最好的資源解碼與壓縮算法,最適合應用領域的腳本語言,更加方便的接口,可以跨平台支持Windows/IPhone/Android/linux

對於底層來說,只是2D/3D引擎的不同。

基本框架如下:

設計IDE,設計行業專用控件

|

設計腳本語言

|

編寫編譯器,將腳本語言轉化為特定平台代碼


Control:

Android對應的是Activity。


Module:

Module通常對應數據。關於Module的職責,我覺得借用數據庫的ACID來描述最合適。

原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)


根據數據來源,大致可分為以下幾種:

1> 來自運行進程

2>來自SD卡文件

3> 來自硬件I/O

4> 來自網絡(比如WebService、FTP、HTTP等)

5> 來自數據庫


View-> Control

主要是采用Listener模式。Activity裡建立View控件與Listener實現之間的綁定。當用戶觸發View控件的相關動作後,

框架會調用綁定的Listener實現。

由於時間關系,目前還沒有深入研究Android實現。

有個疑問:

按照默認的思維,通常實現如下:

while(1)

if (有來自用戶的交互消息) {

根據位置和Glyph樹,決定當前要處理的View

調用控件的Listener 疑問點

}

疑問:

一般會馬上執行注冊的Listener實現, 有辦法延遲執行嗎?比如signal-slot機制的postsignal方法。


Control -> View

調用setContentView(R.layout.main)建立View與XML資源的聯系。

調用findViewById(R.id.name)來獲取子控件。

調用控件的setOnXXXListener方法來綁定相關Listener實現。


Module-> View

這兩者之間的橋梁是Adapter。


Activity-> Module

Service關系,對於耗時間的操作,需要開啟多個後台Service。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved