編輯:Android手機系統教程
今天我們就Android開發中的一些設計模式做一些基礎性的掌握,本次就Android項目的架構設計相關內容做分析:
1. 靜態工廠方法
靜態工廠方法可以算是工廠方法加單例模式的整合在Android平台上,由於Android的Context可以很好的傳遞實例,靜態工廠方法可以提到傳統的類構造器,對於一些邏輯的服務提供類可以考慮這樣的設計,比如文件下載、圖片裁剪等操作。
2. Java的類訪問權限
對於程序的可靠性而言,成員變量盡量私有,通過暴漏公開的方法來訪問這些私有成員,提供類似getXXX和setXXX這樣的方法,不僅是Java,這點C#對於屬性的操作概念在Dot Net上已經深入人心,好處就是可以阻止繼承後的訪問換亂問題。
3. 使用枚舉替代常量
Java在JDK 1.5開始加入了enum枚舉類,相對於常規的final int這樣的定義一些常量更簡單安全,畢竟常量是一堆類似整形的數值,打印起來沒有過多的意義,枚舉對於繼承後訪問的清晰度可以很好的杜絕隱患發生。
4. 使用列表優先於數組
Java的集合類很方便,使用List類的列表在開銷上比Object [ ] 這樣的數組大,但是對於泛型的支持而言更好用強大。也可以避免一些不必要的錯誤,比如
cwjObject [] obj= new int[1];
obj[1] = "android開發網測試"; //這樣會在運行時拋出類似ArrayStoreException這樣的異常。
而使用列表則為:
List<cwjObject> obj=new ArrayList<int>();
obj.add("android123測試"); // 由於傳入列表的是字符串,和構造時類型的int不同,在編譯時就提示錯誤,可以避免一些不必要的情況發生。
5. Java的foreach代替for
Java的foreach仍然使用for來寫,這點和C#直接用foreach關鍵字有點不同,但是使用方法是一樣的,除了更簡潔外,其實foreach比傳統的for更加優化,比如傳統的for第二個限制位,一般訪問屬性或方法,比如說
for (int x=0;x<obj.size();x++) //這句的限制符號每次都會執行obj.size() 方法,當然Android開發網相信size()方法訪問的是一個數組的length屬性,活著是
for (int y=0;y<obj.length;y++) //這裡同樣每次循環都執行obj.length對於Java VM的開銷主要由這個obj的長度決定的,而Android SDK文檔的推薦方式是
int nSize=obj.size() 或 int nSize=obj.length
for (int z=0;z<nSize;z++) ,但是這還不是最優的方法,下面Android123給大家更好的foreach方式的替代方法:
for (SmartObject singleObj : SmartObjectArray)
{
singleObj.setName("cwj"); 或 singleObject.strName="cwj";
}
有關Android開發中的Java設計模式技巧,希望國內Android開發者打好Java基礎,別扎堆實現鋪天蓋地的應用,目前不說惡意軟件問題,就大部分的軟件設計質量令人擔憂,還有很多應用基本上就是J2EE或J2SE開源項目的移植版。
也許對於大部分的機友們而言系統時間自動更新設置是一件很簡單的事情,但是並不是所有的用戶們都是會的,尤其是那些新手們,下面小編為大家帶來了安卓手機系統時間自動更新設置
在如今的通信上,智能手機已經成為我們溝通必不可少的一個工具,雖然強大的智能手機和如今逐漸普及的4G網絡給們的生活帶來了很大的便利,但這絕不是萬能的,在使用的過程中也
1.手機分區 在刷入Recovery之前,小編要為大家簡單介紹一下手機分區的問題,不知道手機分區的情況下是不能刷入Recovery文件的。下面小編解包了一個Rec
有很多安卓用戶們發現自己在開啟數據流量的時候經常會莫名其妙的有一些正在下載的文件,而且是自己不需要的,想要停止卻不知道怎麼辦,所以大家很想知道安卓手機正在下載如何停