[Android實例] 如何成爲Android高手第一篇


若立志成爲Android高手,如有耐心,“一瓶一鉢足矣”。 

  “天下事有難易乎?爲之,則難者亦易矣;不爲,則易者亦難矣。人之爲學有難易乎?學之,則難者亦易矣;不學,則易者亦難矣。”想成爲Android高手?這可不是想象中寫幾行代碼那麼容易的事情,但也不是不可實現。

  如何做?

  1,學會懶惰!奇怪吧?但是,你一定也聽說過和感受過這個世界某種程度上是由懶人推動的,生命在於懶惰,懶人創造世界。當然,懶惰也是真的傻傻的呆在那裏什麼都不做,而是說要善於想出做事情的更好的方式,這樣就可以節約大量的時間,也就有更多的機會懶惰了,同事也懶出了境界。在Android中如何懶惰?《如何成爲Android高手》一文就如何在Android中學會懶惰和朋友們進行了分享。

  2,精通Android體系架構、MVC、常見的設計模式、控制反轉(IoC):這一點難嗎?“學之,則難者亦易矣;不學,則易者亦難矣。”

  3,編寫可重用、可擴展、可維護、靈活性高的代碼:Android應用程序開發的使用純粹面向對象的Java作爲開發語言,自然也就繼承了關於Java關於面向對象的優秀想思想,如何做?《如何成爲Android高手》一文就如何在Android中編寫可重用、可擴展、可維護、靈活性高的代碼和朋友們進行了分享。

  4,高效的編寫高效的代碼:高效的編寫代碼和編寫高效的代碼好像天生就是死敵。似乎開發速度上去了,程序的執行效率就下去了;程序的執行效率上去,開發速度就下去了。如何解決二者的忙着,請聽《如何成爲Android高手》一文想大家娓娓道來。

  5,學會至少一門服務器端開發技術:沒搞錯吧,成爲Android高手還需要學習服務端開發技術?對,需要!《如何成爲Android高手》一文就該問題和大家進行了分享。 

  “蜀之鄙,有二僧:其一貧,其一富。貧者語於富者曰:"吾欲之南海,何如?"富者曰:"子何恃而往?"曰:"吾一瓶一鉢足矣。"富者曰:"吾數年來欲買舟而下,猶未能也。子何恃而往!"越明年,貧者自南海還,以告富者,富者有慚色。西蜀之去南海,不知幾千裏也,僧富者不能至,而貧者至之,人之立志,顧不如蜀鄙之僧哉 ”

  若立志成爲Android高手,如有耐心,“一瓶一鉢足矣”。

Android一出生就被打上了富二代的胎記,不僅僅是因爲誕生於當今的網絡霸主Google,更主要還有一個空前強大和壯觀的開放手機聯盟OHA(Open Handset Alliance)提供全力的支持。OHA是什麼?OHA涵蓋了中國移動、T-Mobile、Sprint等移動運營商,包括HTC、Motolora、三星等手機制造商,有Google爲代表的手機軟件商,還有Inter、Nvidia爲標誌的底層硬件廠商和Astonishing Tribe等商業運作公司,該組織聲稱組織的所有成員都會基於Android來開發新的手機業務。

  但是,要成爲Android高手並不是一件容易的事情。並不是很多人想象的能夠飛快的寫出幾行漂亮的代碼去解決一些困難的問題就是Android高手了。真正的Android高手需要考慮的問題遠遠不是寫些漂亮的代碼就足夠的。下面是成爲一名真正的Android高手必須掌握和遵循的一些準則:


1,學會懶惰

2,精通Android體系架構、MVC、常見的設計模式、控制反轉(IoC)

3,編寫可重用、可擴展、可維護、靈活性高的代碼

4,高效的編寫高效的代碼

5,學會至少一門服務器端開發技術


一:學會懶惰


  沒搞錯吧?竟然讓程序開發人員學會懶惰?程序開發人員可能是世界上最爲忙碌的一類人啦!對,沒錯,學會懶惰!正因爲程序開發人員忙碌,正因爲程序開發人員可能會在客戶無限變化的需求之下沒日沒夜的加班,所以要學會懶惰,這樣,你就可以把更多的時間浪費在美好的事物身上!

如何懶惰:

1,Don't Reinvent the Wheel(不要重複發明輪子)。

2,Inventing the Wheel(發明輪子)。


1,Don't Reinvent the Wheel(不要重複發明輪子)。


  “輪子理論”,也即“不要重複發明輪子”,這是西方國家的一句諺語,原話是:Don't Reinvent the Wheel。“不要重複發明輪子 ”意思是企業中任何一項工作實際上都有人做過,我們所需要做的就是找到做過這件事情的人。拿到軟件領域中就是指有的項目或功能,別人已經做過,我們需要用的時候,直接拿來用即可,而不要重新制造。  

  Android號稱是首個爲移動終端打造的真正開放和完整的移動軟件。Android發佈後不久Google公司就發佈了操作系統核心(Kernel)與部分驅動程序的源代碼,到目前位置除了Google Map等Google公司的核心組件沒有開放源代碼外,Android基本完成了完全的開源,這就極大的促進了Android的普及和移植。受到Android開放行爲和開源精神的影響,在世界各地,有成千上萬的程序員喜歡和別人分享自己的聰明才智和自己編寫的代碼。你可以在Google的Android討論組或者Google搜索引擎上搜索到很多優秀的程序代碼。這樣做並不是鼓勵大家整天等着讓別人爲你編寫代碼,而是你可以“站在偉人的肩膀上”,充分發揚“拿來主義”,聰明地應用別人的程序代碼可以節省你大量的時間。

2,Inventing the Wheel(發明輪子)。


  發明輪子?不錯,發明輪子!我們不僅要發明輪子,更要成爲努力成爲世界上發明輪子的主導力量,唯有這樣,才能談的上中華名族軟件大業的真正強大。在Android,要發明輪子,就是我們要主動的是解決一些世界上他人未解決的難題或者創造新的編程框架或者對Android進行深度的改造以適合自己的業務發展需要。Google發佈了Android後不久,中國移動便投入了大量的人力和物力,在Android的基礎上創建融入自己業務並開發、封裝了新的功能的和框架的OMS,這是Android中發明輪子的一個非常重要的例子。可能你會說,這發明輪子也太難了吧,別急,我們慢慢來,開發一個框架特定領域的框架吧!你可能會一臉無辜的說,開發一個框架是說的那麼容易嗎?當然不是啦。但是也並非不可能,首先,我們分析一下框架的魅力的源泉,看看Spring、Struts等Java EE框架,在看看.NET框架,當然也可以看看發展的如火如荼、層出不窮的PHP框架,她們的強大和魅力的源泉都在於:IoC(Inversion of Control)。
Don't call us, we'll call you(別找我,我會來找你的)。



二:精通Android體系架構、MVC、常見的設計模式、控制反轉(IoC)

1,請看某個著名的IT公司一則招聘信息的其中一條要求:“熟悉Android系統架構及相關技術,1年以上實際Android平臺開發經驗;”,裏面非常明確的說道要求熟練Android系統架構,這從某種程度上說明了對Android體系架構的理解的重要性。
Linux Kernel:負責硬件的驅動程序、網絡、電源、系統安全以及內存管理等功能。

Libraries和Android Runtime:Libraries:即C/C++函數庫部分,大多數都是開放源代碼的函數庫,例如WebKit,該函數庫負責Android網頁瀏覽器的運行,例如標準的C函數庫Libc、OpenSSL、SQLite等,當然也包括支持遊戲開發2D SGL和3D OpenGL | ES,在多媒體方面有MediaFramework框架來支持各種影音和圖形文件的播放與顯示,例如MPEG4、H.264、MP3、AAC、AMR、JPG和PNG等衆多的多媒體文件格式。Android的Runtime負責解釋和執行生成的Dalvik格式的字節碼。

  Application Framework(應用軟件架構),Java應用程序開發人員主要是使用該層封裝好的API進行快速開發。

Applications:該層是Java的應用程序層,Android內置的Google Maps、E-mail、即時通信工具、瀏覽器、MP3播放器等處於該層,Java開發人員開發的程序也處於該層,而且和內置的應用程序具有平等的位置,可以調用內置的應用程序,也可以替換內置的應用程序。

上面的四個層次,下層爲上層服務,上層需要下層的支持,調用下層的服務,這種嚴格分層的方式帶來的極大的穩定性、靈活性和可擴展性,使得不同層的開發人員可以按照規範專心特定層的開發。

Android應用程序使用框架的API並在框架下運行,這就帶來了程序開發的高度一致性,另一方面也告訴我們,要想寫出優質高效的程序就必須對整個Application Framework進行非常深入的理解。精通Application Framework,你就可以真正的理解Android的設計和運行機制,也就更能夠駕馭整個應用層的開發。


2,Android的官方建議應用程序的開發採用MVC模式。
3,設計模式和IoC(控制反轉)

毫無疑問,Android的之所以能夠成爲一個開放的氣象萬千的系統,與設計模式的精妙應用是分不開的,只要你稍微用心觀察,就會發現在Android中到處都是A設計模式或者設計模式的聯合運用,一下的設計模式是您想遊刃有餘的駕馭Android必須掌握的:

l Template Method模式

l Factory Method模式

l Observer模式

l Abstract Factory模式

l Adapter模式

l Composite模式

l Strategy模式

l State模式

l Proxy模式

l Bridge模式

l Iterator模式

l Mediator模式

l Façade模式

Android框架魅力的源泉在於IoC,在開發Android的過程中你會時刻感受到IoC帶來的巨大方便,就拿Activity來說,下面的函數是框架調用自動調用的:

protected void onCreate(Bundle savedInstanceState) ;

不是程序編寫者主動去調用,反而是用戶寫的代碼被框架調用,這也就反轉了!當然IoC本身的內涵遠遠不止這些,但是從這個例子中也可以窺視出IoC帶來的巨大好處。此類的例子在Android隨處可見,例如說數據庫的管理類,例如說Android中SAX的Handler的調用等。有時候,您甚至需要自己編寫簡單的IoC實現,上面展示的多線程現在就是一個說明。


本文轉自:http://www.eoeandroid.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章