Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android設計模式之--觀察者模式

android設計模式之--觀察者模式

編輯:關於Android編程

最近比較忙,好久沒有更新博客了,今天就將最近研究的一個東西總結一下,最近在維護公司的一個項目,我負責的模塊主要是下載雜志後及時的更新UI,將最新的下載進度更新到UI上,中間遇到的一個問題是:同一個對象的下載進度會有多個Item監聽它的狀態,也就是說一個進度要更新到多個Item上,開始沒有什麼頭緒,百度一番後發現了觀察者模式這個東西,它就是為了滿足這種一對多問題而出現的.

有了思路以後,就著手開始了解觀察者模式是如何工作的,雖然以前知道設計模式裡有這個東西,但還真是沒用過,下面就講解一下觀察者模式如何在項目中實際應用.先看一下應用在項目中的效果:

\\

如圖:同一本書在書店頁與書架頁的下載進度是要完全一樣的,我們可以用觀察者模式達到這種效果.
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAxLrnbsuzV38Sjyr2w/LqstcTE2sjdOrnbsuzV38Sjyr3W0Nb30qrT0LnbsuzV37rNsbu527Ls1d/BvdbWttTP8yyxu7nbsuzV39b30qrKtc/Wyv2+3bvy17TMrLXEuPzQwizT0Lj80MK6882o1qrL+dPQtcS527Ls1d8stvi527Ls1d/U8tb30qq4utTwytW1vc2o1qq68yzIpbj80MLX1Ly6y/m52NeitcTE2sjdLjwvcD4KPHA+ICAyLrnbsuzV38Sjyr21xMq508OyvdboOjEptLS9qNK7uPYgU3ViamVjdCjW98zivdO/2iksvdO/2tbQ09Cxu7nbsuzV39KqyrXP1rXEy/nT0LmmxNw7Mim0tL2o0ru49rnbsuzV373Tv9osy/nT0Mq1z9bBy7TLvdO/2rmmxNy1xCy2vLG7s8bOqrnbsuzV3ywzKb2ry/nT0Mq1z9bBy7nbsuzV373Tv9q1xLnbsuzV37a816Ky4bW9sbu527Ls1d/W0C40KbG7uduy7NXfzai5/bHpwPrL+dPQtcS527Ls1d+21M/zLLX308PG5Mq1z9a1xLnbsuzV373Tv9q3vbeoLii+zcrH0ru49r3Tv9q1xLvYtfe5/bPMKTxicj4KPC9wPgo8cD4gINa70qrKtc/WwcvS1MnPy8S49rK91ui+zbPJuaa1xLS0vajSu7j2uduy7NXfxKPKvSzPwsPmysfO0s/uxL/W0NPDtb2527Ls1d/Eo8q9tcS/8rzcveG5uTo8L3A+CjxwPiAgMS60tL2o0ru49lN1YmplY3TW98zivdO/2iy2qNLlwcuxu7nbsuzV37XEuabE3C7I5828OjwvcD4KPHA+ICA8aW1nIHNyYz0="/uploadfile/Collfiles/20141202/2014120208141752.jpg" alt="\">

這裡定義了被觀察者的功能和添加,刪除觀察者..

2.創建一個被觀察者對象,實現此主題接口功能

\

此處,我省略了項目裡其它的代碼,只留下一個框架結構.這樣我們的被觀察者類就創建好了.

3.創建觀察者接口,定義好觀察者要實現的功能.

\

4.創建我們的觀察者類,如圖:

膻歶jwk?Z喎?/os/系統的設計就可以看的出,系統的設計本身就使用了非常多的觀察者模式,例如 : View的事件監聽機制,ContentProvider 的 ContentObserver, BaseAdapter的設計,可見,觀察者模式是十分重要的,是我們必須掌握的.2.掌握觀察者模式的前提是必須熟練使用接口回調,觀察者模式其實就是一個復雜的接口回調.


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