Android設計模式系列(1)–SDK源碼之組合模式

Android中對組合模式的應用,可謂是泛濫成粥,隨處可見,那就是View和ViewGroup類的使用。在android UI設計,幾乎所有的widget和布局類都依靠這兩個類。組合模式,Composite Pattern,是一個非常巧妙的模式。幾乎所有的物件導向系統都應用到了組合模式。1.意圖將對象View和ViewGroup組合成樹形結構以表示"部分-整體"的階層(View可以做為ViewGroup的一部分)。組合模式使得使用者對單個對象View和組合對象ViewGroup的使用具有一致性。

Android學習系列(34)–App應用之發布各廣告平台版本

Android的廣告平台是很多的,各市場對各平台的接受程度是不一樣的,Android的開發人員如果想整合廣告基本要考慮下面兩個問題:(1)整合什麼廣告,會賺錢?(2)整合什麼廣告,不會被市場拒絕?最終的結果往往是折中的。第一個問題是廣告平台的判斷問題,我沒有發言權去評論,本文主要是針對第二個問題展開。解決方案就是打包應用的不同廣告平台版本,本文接下來逐一展開相關話題。1.

Android設計模式系列(2)–SDK源碼之觀察者模式

觀察者模式,是一種非常常見的設計模式,在很多系統中隨處可見,尤其是涉及到資料狀態發生變化需要通知的情況下。本文以AbstractCursor為例子,展開分析。觀察者模式,Observer Pattern,是一個很實用的模式,本人曾經接觸到的各種平台以及曾經參與項目中列印模板解譯器中都用到了此模式。1.意圖定義對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新。熱門詞彙:依賴 發布-訂閱 事件 通知 更新

Android設計模式系列(3)–SDK源碼之單例模式

單例模式,可以說是GOF的23種設計模式中最簡單的一個。這個模式相對於其他幾個模式比較獨立,它只負責控制自己的執行個體化數量單一(而不是考慮為使用者產生什麼樣的執行個體),很有意思,是一個感覺上很乾淨的模式,本人很喜歡這個模式。android中很多地方都用到了單例模式,本文以IME管理者InputMethodManager為例,展開分析。單例模式,Singleton

Android設計模式系列(4)–SDK源碼之模板方法模式

模板方法,和單例模式是我認為GOF的23中最簡單的兩種模式。但是我個人對模板方法的經典思想特別推崇,雖然模板方法在大對數情況下並不被推薦使用,但是這種通過父類調用子類的方法,使用繼承來改變演算法的一部分,是物件導向的一種基本認識。打比方說父親有很多理想,就行醫救人吧,但是父親醫術不行,只能靠兒子,兒子長大後遵從父親大志,春風拂面,妙手回春,實現了父親的理想,兒子做的事情早在出生前就定下來了,是父親之前久定好的模板。認識到模板方法的這種思想,父類可以讓未知的子類去做它本身可能完成的不好或者根本完成

Android設計模式系列(5)–SDK源碼之備忘錄模式

備忘錄模式,在工作代碼中,要麼不用,要麼經常用到。舉個例子,程式員喜歡寫代碼,coding,coding,這個時候它的狀態是很high,但是每隔一段時間總要去上一下廁所,狀態是放鬆relax,上完測試歸來後又恢複到high的狀態,繼續coding。這個過程對於身後的老闆來說,它預設同意你離開去上廁所,他也希望你回來後恢複high的狀態繼續工作,但是你在這個過程中上廁所的這件事,他是不需要瞭解細節的,而且做為當事人你也不希望他瞭解你上廁所的細節吧,你只要回來後恢複激情high著繼續工作,老闆應該就

Android設計模式系列(6)–SDK源碼之享元模式

享元模式,給我的感覺就是對象池,緩衝單例對象。java中的享元模式最經典的例子就是String類了,還有一個最容易理解的就是word文檔字元共用的例子,也是享元模式的經典應用。本文對android中的sql編譯類SQLiteCompiledSql說明,展開分析,也是很容易理解的一個例子,其實,android SDK中必然有很多地方需要用到享元模式。享元模式,Flyweight  Pattern,說的嚴重點,一些程式如果不使用享元模式的話,根本不能使用物件導向的方法實現,對象會多的撐爆你的記憶體:

10個經典的Android開源項目(附源碼包)

      最近在抽空學習Android系統開發,對Android學習也比較感興趣,剛開始學就試著在網上找幾個項目源碼研究看下,以下就將找到的Android項目源碼列出,希望對正在或準備學習Android系統開發開發的能有些協助!      1、Android團隊提供的樣本項目  如果不是從學習Android SDK中提供的那些範例代碼開始,可能沒有更好的方法來掌握在Android這個架構上開發。由Android的核心Team

解決android ERROR: Unknown option ‘–no-crunch’

   最近android developer官網給出了ADT 14的升級包,很多朋友選擇了升級,然後在開發的時候,編譯工程出現了下面的錯誤提示 android ERROR:Unknown option '--no-crunch' Android Asset Packaging ToolUsage:aapt l[ist] [-v] [-a] file.{zip,jar,apk}   總結一下,原因就是只更新了ADT而沒有對Android SDK tools 和Android SDK

Android設計模式系列(7)–SDK源碼之命令模式

命令模式,在.net,java平台的事件機制用的非常多,幾乎每天都與之打交道。android中對我印象最深的就是多線程多進程的環境,所以必然大量使用到Runbable,Thread,其實用的就是最簡單的命令模式。命令模式,Command Pattern,把請求封裝為一個對象,多麼巧妙的一個說法啊。1.意圖將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作。熱門詞彙:動作 事物 請求封裝 排隊 打包

Android設計模式系列(8)–SDK源碼之Factory 方法模式

Factory 方法模式,往往是設計模式初學者入門的模式,的確,有人稱之為最為典型最具啟發效果的模式。android中用到了太多的工廠類,其中有用Factory 方法模式的,當然也有很多工廠並不是使用Factory 方法模式的,只是工具管理類。今天以ThreadFactory舉例說明一下簡單原廠模式和Factory 方法模式。 Factory 方法模式,Factory

Android設計模式系列(11)–SDK源碼之策略模式

策略模式其實特別簡單(聽到這句話,大家是不是心裡一下子放鬆了?)。比如排序,官方告訴大家我這裡有一個排序的介面ISort的sort()方法,然後民間各盡其能,實現這個排序的方法:冒泡,快速,堆等等。這些方法就是“不同的策略”。然後,某個模組下,需要一個排序方法,但是暫時不能指定具體的sort方法(出於擴充的考慮),就需要使用ISort介面了。最後,具體什麼情境下,傳入什麼具體的sort方法,實現靈活的排序。這就是策略模式!下面,我們分析Android中的動畫是如何使用原則模式的。1.

Android設計模式系列(9)–SDK源碼之適配器模式

對於android開發人員來說起,適配器模式簡直太熟悉不過,有很多應用可以說是天天在直接或者間接的用到適配器模式,比如ListView。ListView用於顯示列表資料,但是作為列表資料集合有很多形式,有Array,有Cursor,我們需要對應的適配器作為橋樑,處理相應的資料(並能形成ListView所需要的視圖)。正是因為定義了這些適配器介面和適配器類,才能使我們的資料簡單靈活而又正確的顯示到了adapterview的實作類別上。適配器模式,Adapter

Android設計模式系列(12)–SDK源碼之產生器模式(建造者模式)

建造者模式把構造和表示分離開,根據客戶需求生產一個相應的對象。本來呢,我們根據Builder介面實現不同的具體的ConcreteBuilder,就可生產不同的對象了。但是,下面例子的只有一個Builder,所以也沒有介面Builder,也沒有其他的ConcreteBuilder。但是我今天要講的例子太簡單,簡單到都不覺得是建造者模式,但是又有建造者模式的感覺。1.

Android設計模式系列(10)–SDK源碼之原型模式

CV一族,應該很容易理解原型模式的原理,複製,粘貼完後看具體情況是否修改,其實這就是原型模式。從java的角度看,一般使用原型模式有個明顯的特點,就是實現cloneable的clone()方法。原型模式,能快速複製出一個與已經存在對象類似的另外一個我們想要的新對象。1.意圖用原型執行個體指定建立對象的種類,並且通過拷貝這些原型建立新的對象。熱門詞彙:複製 深拷貝 淺拷貝2.結構圖和代碼它的結構圖非常簡單,我們以Intent為例子:Intent的clone方法非常簡單: @Override

vcastr3.swf免費開源android可用的FLV播放器使用詳解

一、Vcastr 3.0  flash版的flv視頻播放器開源版特點:使用as3.0重新寫了播放器 播放器大小縮小,在20+k左右 可以通過xml對播放器設定 可以播放多個影片,並且有影片列表 可以設定迴圈播放,自動播放,是否直接開始下載,控制欄的顏色和模式 控制欄可以適應超小的尺寸 可以使用外掛程式擴充播放器的功能 可以用外掛程式設定logo及串連 可以用外掛程式來用javascript控制播放器 可以用外掛程式來用設定播放器開始或者結束的圖片或者flash(swf)

Android程式開發學習筆記系列——基礎篇(附源碼)

  隨著Android的越炒越熱和各種應用的不斷推出,自己也比較巧合的在去年12月份寬頻續約時給送了個電信的Android系統定製機——算是促使我提前了Android開發的學習計劃,並給我提供了一個開發測試的'場地'(手機),也更增強了我學習Android程式開發的興趣——別的市場前景等先暫且不說,至少我學會了,可以做個程式自己用。閑話少說,Android程式開發學習筆記這個系列,我將盡量讓每篇部落格保持統一的風格,在開始分享學習經驗之前列出這篇部落客要講些什麼——知識點,也力求以簡短明了的講述

Android學習筆記,初識Android。。DVM與JVM

Android是基於Linux的開源作業系統,Android的核心內容之一就是DVM,即Dalvik虛擬機器。它與傳統的JVM的區別:1、架構上的區別,前者基於reg(CPU中),後者基於stack(記憶體中)。最顯著的區別是,前者可以有效減少記憶體訪問的次數,來加快程式的執行。其他的諸如可以提前最佳化,編譯速度加快,由於暫時不懂編譯原理,理解不了。2、執行的位元組碼不一樣,前者是dex格式,後者是.class格式。Dex是針對行動裝置進行了最佳化。 Technorati 標籤:

【Based Android】Android Sensor感應器介紹(二)線程中重新整理UI 建立一個android測力計

上一篇文章http://www.cnblogs.com/octobershiner/archive/2011/11/06/2237880.html介紹了sensor的基本知識以及一個使用其中加速度感應器擷取資料的例子。  提到過一個問題,就是說感應器重新整理頻率太快,假如我們要做一個UI中,需要根據方向資料繪製一個一個移動的箭頭,那麼就要太過頻繁的重新整理繪製介面,佔用很多的資源,體驗性也會很差,《android

【Based Android】Android Sensor感應器介紹(三)擷取使用者移動方向,指南針原理

  晚上好~今天繼續給大家分享一下第二個重要的感應器,其實擷取方向本應該很簡單的事情,在文章一中看到 有個TYPE_ORIENTATION 關鍵字,說明可以直接擷取裝置的移動方向,但是最新版的SDK加上了這麼一句話“TYPE_ORIENTATION     This constant is deprecated. use SensorManager.getOrientation() instead. ”也就是說,這種方式已經被取消,要開發人員使用

總頁數: 2802 1 .... 157 158 159 160 161 .... 2802 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。