日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 中MVC实例之Activity,Window和View

發(fā)布時間:2025/3/19 Android 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 中MVC实例之Activity,Window和View 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MVC模式的簡單介紹:

除此之外,此模式通過對復(fù)雜度的簡化,使程序結(jié)構(gòu)更加直觀。軟件系統(tǒng)通過對自身基本部份分離的同時也賦予了各個基本部分應(yīng)有的功能。專業(yè)人員可以通過自身的專長分組:

  • (控制器Controller)- 負責(zé)轉(zhuǎn)發(fā)請求,對請求進行處理。
  • (視圖View) - 界面設(shè)計人員進行圖形界面設(shè)計。
  • (模型Model) - 程序員編寫程序應(yīng)有的功能(實現(xiàn)算法等等)、數(shù)據(jù)庫專家進行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(可以實現(xiàn)具體的功能)。

圖中實線表示方法調(diào)用,虛線表示事件

模型(Model) “數(shù)據(jù)模型”(Model)用于封裝與應(yīng)用程序的業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)以及對數(shù)據(jù)的處理方法。“模型”有對數(shù)據(jù)直接訪問的權(quán)力,例如對數(shù)據(jù)庫的訪問。“模型”不依賴“視圖”和“控制器”,也就是說,模型不關(guān)心它會被如何顯示或是如何被操作。但是模型中數(shù)據(jù)的變化一般會通過一種刷新機制被公布。為了實現(xiàn)這種機制,那些用于監(jiān)視此模型的視圖必須事先在此模型上注冊,從而,視圖可以了解在數(shù)據(jù)模型上發(fā)生的改變。(比較:觀察者模式(軟件設(shè)計模式))

視圖(View) 視圖層能夠?qū)崿F(xiàn)數(shù)據(jù)有目的的顯示(理論上,這不是必需的)。在視圖中一般沒有程序上的邏輯。為了實現(xiàn)視圖上的刷新功能,視圖需要訪問它監(jiān)視的數(shù)據(jù)模型(Model),因此應(yīng)該事先在被它監(jiān)視的數(shù)據(jù)那里注冊。

控制器(Controller) 控制器起到不同層面間的組織作用,用于控制應(yīng)用程序的流程。它處理事件并作出響應(yīng)。“事件”包括用戶的行為和數(shù)據(jù)模型上的改變。

Activity的生命周期圖如下所示:

除了與生命周期有關(guān)的方法外,還有若干其他接收用戶輸入的方法,比如onKeyUp,onKeyMultiple,etc. 這些輸入都可能會造成view的變化。 其實也就是MVC中的C了。View是什么呢,其實也就是Android中的View類和Window做的事情,View is the base class for widgets, which are used to create interactive UI components,把多個View聚合起來,并按照某種方式組合后,由Window將其畫出來就是了,所以Android已經(jīng)提供了MVC的C和V了,app的開發(fā)者就只需要提供M了,根據(jù)MVC的慣常用法,M會實現(xiàn)算法,封裝對網(wǎng)絡(luò)和數(shù)據(jù)庫的訪問等。從MVC的架構(gòu)圖中,我們還看到C和M直接的關(guān)系是單向的,只是C發(fā)控制命令給M。

Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。

?

不多說了,Activity不僅僅是MVC中的C,當它跟其他類配合工作時適用于其他的設(shè)計模式中的角色。這里就不介紹了。

?

Reference

1. http://hi.baidu.com/xiaofanqing/item/8ad71c3fd40e810eceb9feb5

轉(zhuǎn)載于:https://www.cnblogs.com/whyandinside/archive/2012/08/05/2623922.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的Android 中MVC实例之Activity,Window和View的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。