Time of Update: 2018-12-06
享元模式,給我的感覺就是對象池,緩衝單例對象。java中的享元模式最經典的例子就是String類了,還有一個最容易理解的就是word文檔字元共用的例子,也是享元模式的經典應用。本文對android中的sql編譯類SQLiteCompiledSql說明,展開分析,也是很容易理解的一個例子,其實,android SDK中必然有很多地方需要用到享元模式。享元模式,Flyweight Pattern,說的嚴重點,一些程式如果不使用享元模式的話,根本不能使用物件導向的方法實現,對象會多的撐爆你的記憶體:
Time of Update: 2018-12-06
最近在抽空學習Android系統開發,對Android學習也比較感興趣,剛開始學就試著在網上找幾個項目源碼研究看下,以下就將找到的Android項目源碼列出,希望對正在或準備學習Android系統開發開發的能有些協助! 1、Android團隊提供的樣本項目 如果不是從學習Android SDK中提供的那些範例代碼開始,可能沒有更好的方法來掌握在Android這個架構上開發。由Android的核心Team
Time of Update: 2018-12-06
最近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
Time of Update: 2018-12-06
今天開始看了sundy的教程,關於Log的介紹,自己做了一些筆記,也根據官網的SDK自己總結了一些東西,其實相當於做了簡單的翻譯。言歸正傳~/********************************************************************************************************************************************************************************
Time of Update: 2018-12-06
設定android全螢幕模式有兩種方法,一種是在程式碼中設定,另一種是配置manifest.xml檔案,推薦使用第二種方式。 在manifest.xml檔案中 <application>和<activity>標籤中都有android:theme屬性 只需要添加下面的xml代碼就好了1 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 例如 下面的代碼使得
Time of Update: 2018-12-06
1 LocationActivity.java 2 /* LocationActivity.java 3 * @author octobershiner 4 * 2011 7 22 5 * SE.HIT 6 * 一個示範定位使用者的位置並且監聽位置變化的代碼 7 * */ 8 package uni.location; 9 10 import android.app.Activity; 11 import
Time of Update: 2018-12-06
2011 7 22暑假實訓的第五天(注,這是我暑假寫的文章,來到部落格園和大家分享),跟大家分享以下我對Android location的學習吧,這是一個最基本的擷取地理位置資訊的入門,下一次給大家介紹更質能化的地理位置選擇Criteria,今天就先寫簡單的吧,挑選了SDK兩個重要的方法,我自己翻譯了一下,也加上了自己的理解,希望大家指教,開始吧!擷取跟蹤你的位置~~~提供重要的地理位置資訊服務1 Location Manager 管理服務2 Location Provider
Time of Update: 2018-12-06
1 /* LocationActivity.java 2 * @author octobershiner 3 * 2011 7 24 4 * SE.HIT 5 * 利用Criteria選擇最優的位置服務,示範定位使用者的位置並且監聽位置變化的代碼 6 * */ 7 package uni.location; 8 9 import android.app.Activity;10 import android.content.Context;11 import android.
Time of Update: 2018-12-06
命令模式,在.net,java平台的事件機制用的非常多,幾乎每天都與之打交道。android中對我印象最深的就是多線程多進程的環境,所以必然大量使用到Runbable,Thread,其實用的就是最簡單的命令模式。命令模式,Command Pattern,把請求封裝為一個對象,多麼巧妙的一個說法啊。1.意圖將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作。熱門詞彙:動作 事物 請求封裝 排隊 打包
Time of Update: 2018-12-06
Factory 方法模式,往往是設計模式初學者入門的模式,的確,有人稱之為最為典型最具啟發效果的模式。android中用到了太多的工廠類,其中有用Factory 方法模式的,當然也有很多工廠並不是使用Factory 方法模式的,只是工具管理類。今天以ThreadFactory舉例說明一下簡單原廠模式和Factory 方法模式。 Factory 方法模式,Factory
Time of Update: 2018-12-06
策略模式其實特別簡單(聽到這句話,大家是不是心裡一下子放鬆了?)。比如排序,官方告訴大家我這裡有一個排序的介面ISort的sort()方法,然後民間各盡其能,實現這個排序的方法:冒泡,快速,堆等等。這些方法就是“不同的策略”。然後,某個模組下,需要一個排序方法,但是暫時不能指定具體的sort方法(出於擴充的考慮),就需要使用ISort介面了。最後,具體什麼情境下,傳入什麼具體的sort方法,實現靈活的排序。這就是策略模式!下面,我們分析Android中的動畫是如何使用原則模式的。1.
Time of Update: 2018-12-06
對於android開發人員來說起,適配器模式簡直太熟悉不過,有很多應用可以說是天天在直接或者間接的用到適配器模式,比如ListView。ListView用於顯示列表資料,但是作為列表資料集合有很多形式,有Array,有Cursor,我們需要對應的適配器作為橋樑,處理相應的資料(並能形成ListView所需要的視圖)。正是因為定義了這些適配器介面和適配器類,才能使我們的資料簡單靈活而又正確的顯示到了adapterview的實作類別上。適配器模式,Adapter
Time of Update: 2018-12-06
建造者模式把構造和表示分離開,根據客戶需求生產一個相應的對象。本來呢,我們根據Builder介面實現不同的具體的ConcreteBuilder,就可生產不同的對象了。但是,下面例子的只有一個Builder,所以也沒有介面Builder,也沒有其他的ConcreteBuilder。但是我今天要講的例子太簡單,簡單到都不覺得是建造者模式,但是又有建造者模式的感覺。1.
Time of Update: 2018-12-06
CV一族,應該很容易理解原型模式的原理,複製,粘貼完後看具體情況是否修改,其實這就是原型模式。從java的角度看,一般使用原型模式有個明顯的特點,就是實現cloneable的clone()方法。原型模式,能快速複製出一個與已經存在對象類似的另外一個我們想要的新對象。1.意圖用原型執行個體指定建立對象的種類,並且通過拷貝這些原型建立新的對象。熱門詞彙:複製 深拷貝 淺拷貝2.結構圖和代碼它的結構圖非常簡單,我們以Intent為例子:Intent的clone方法非常簡單: @Override
Time of Update: 2018-12-06
隨著Android的越炒越熱和各種應用的不斷推出,自己也比較巧合的在去年12月份寬頻續約時給送了個電信的Android系統定製機——算是促使我提前了Android開發的學習計劃,並給我提供了一個開發測試的'場地'(手機),也更增強了我學習Android程式開發的興趣——別的市場前景等先暫且不說,至少我學會了,可以做個程式自己用。閑話少說,Android程式開發學習筆記這個系列,我將盡量讓每篇部落格保持統一的風格,在開始分享學習經驗之前列出這篇部落客要講些什麼——知識點,也力求以簡短明了的講述
Time of Update: 2018-12-06
Android是基於Linux的開源作業系統,Android的核心內容之一就是DVM,即Dalvik虛擬機器。它與傳統的JVM的區別:1、架構上的區別,前者基於reg(CPU中),後者基於stack(記憶體中)。最顯著的區別是,前者可以有效減少記憶體訪問的次數,來加快程式的執行。其他的諸如可以提前最佳化,編譯速度加快,由於暫時不懂編譯原理,理解不了。2、執行的位元組碼不一樣,前者是dex格式,後者是.class格式。Dex是針對行動裝置進行了最佳化。 Technorati 標籤:
Time of Update: 2018-12-06
上一篇文章http://www.cnblogs.com/octobershiner/archive/2011/10/24/2222401.html介紹了簡單的地理位置服務的使用,今天這篇文章給大家分享以下Criteria類的使用在使用android lcoation的時候,可能不希望自己去硬性的選擇是GPS服務還是NETWORK服務,可能是我們考慮的因素有很多,自己很難決定,Android
Time of Update: 2018-12-06
與開發實際的產品不同,平時大家寫android應用自己玩的時候,不會在意一個問題,就是針對不同的配置的手機去配置不同的資源。 今天琢磨起了這個問題,也就是說由於android現在的裝置和版本號碼越來越多,android在資源上支援為不同的裝置環境提供不同的資源。其實我感覺這個問題會越來越值得android開發人員的關注,因為現在系統版本發布較快,今年秋天估計就要發布android 5.0 ,隨之又將是sdk的一番更新,加上現在HTC
Time of Update: 2018-12-06
上一篇文章http://www.cnblogs.com/octobershiner/archive/2011/11/06/2237880.html介紹了sensor的基本知識以及一個使用其中加速度感應器擷取資料的例子。 提到過一個問題,就是說感應器重新整理頻率太快,假如我們要做一個UI中,需要根據方向資料繪製一個一個移動的箭頭,那麼就要太過頻繁的重新整理繪製介面,佔用很多的資源,體驗性也會很差,《android
Time of Update: 2018-12-06
晚上好~今天繼續給大家分享一下第二個重要的感應器,其實擷取方向本應該很簡單的事情,在文章一中看到 有個TYPE_ORIENTATION 關鍵字,說明可以直接擷取裝置的移動方向,但是最新版的SDK加上了這麼一句話“TYPE_ORIENTATION This constant is deprecated. use SensorManager.getOrientation() instead. ”也就是說,這種方式已經被取消,要開發人員使用