現在智能手機已經盛行了好幾年,而針對這些智能手機的軟件開發也變得異常火熱。可是在Android平臺下只能使用Java開發,iOS平臺下也只能使用Objective-C或Swift開發。對於那些C#程序員卻只能眼看着這些火熱的平臺流口水。在幾年前只能從新學習一門新的語言,才能夠進入這些智能手機開發行業。如今,咱們有了Xamarin。C#程序員不須要了解其它語言,就能夠開始編寫Android、iOS或Windows Phone平臺下的軟件。在本章中,讀者將瞭解使用Xamarin開發Android應用的必備知識。程序員
在使用C#開發Android應用時,必須使用Xamarin。在開始使用Xamarin前,須要對Xamrin有必定的瞭解。編程
Xamarin由Mono、Mono Touch和Mono For Android開發而來。Xamarin的出現主要是爲了實現C#開發跨平臺的移動應用。從如今也能夠看出,Xamarin確實實現了跨平臺的應用開發。實現了一次編寫,多平臺發佈。Xamarin是Mono項目的一個分支,但Xamarin並不像Mono同樣是開源的,Xamain是一個商業項目,在使用時須要繳納一些費用。瀏覽器
早在2000年4月份,微軟公司發佈了他們的.NET框架。而Miguel De Icaza的Ximian開始審查其是否能夠支持Linux版本。通過一年的審查,在2001年7月19日,Mono開源項目開始啓動。後來,Ximian被Novell公司在2003年8月4日收購,而Novell則在2011年4月歸於Attachmate之下。在歸於Attachmate之下後,Attachmate裁掉了不少人,其中包括大量的Mono開發者。這樣,一些Mono中的問題也擱置起來。框架
到了2011年5月6日,Miguel De Icaza在他的博客上宣佈Mono將經過Xamarin開發和支持。這意味着一個新的公司會發佈一個適用於移動開發平臺的產品。最後,Miguel De Icaza將最初的Mono團隊帶到了新的公司中。隨後在解決了Mono Touch和Mono for Android的問題後,Xamarin也提供了完整的技術支持。工具
在2012年12月,Xamarin發佈了Xamarin.Mac和爲C#程序員提供的MonoDevelop集成開發環境。在2013年2月,Xamarin宣佈發佈Xamarin 2.0。該發行版包含了兩個部分:Xamarin Studio,其中包含了過去Xamarin的全部內容,包括iOS、Andriod和Apple OS X開發工具;集成了Visual Studio中微軟的.NET框架,並容許Visual Studio在Windows系統中,使用並建立iOS和Android的應用。性能
在整個發過程當中,Miguel De Icaza功不可沒,沒有Miguel De Icaza也沒有Xamarin的今天。而Xamarin也成了C#程序員的福音,而且爲C#跨平臺的功能提供了可能。學習
Xamarin提供了不少產品和工具,如Xamarin.Forms、Xamarin Test Cloud、Xamarin for Visual Studio、Xamarin Studio、Xamarin.Mac和Net Mobility Scanner。而最主要的就是使用Xamarin平臺開發程序。開發工具
q Xamarin Platform:它是Xamarin 2.0,發佈於2013年2月,將之前單獨的iOS、Andriod和Mac OS X開發工具統一到一個平臺中。Xamarin.iOS和Xamarin.Andriod使得在Windows上能夠經過Xamarin Studio或Visual Studio開發本地的iOS、Andriod和Windows應用。開發者能夠重複利用本身的C#代碼到不一樣的平臺上,而且不須要作太多的修改。測試
q Xamarin.Forms:在2014年5月8日被引入Xamrin 3中。它容許使用便攜式控制子集映射到本地控制Android、iOS和Windows Phone。spa
q Xamarin Test Cloud:Xamarin的測試雲,能夠模擬真實不一樣機型的UI操做,用於測試用戶的應用是否能夠正常運行。
q Xamarin for Visual Studio:Xamarin申明該軟件只包含iOS、Andriod和Windows,IDE插件,該插件主要用於Visual Studio,容許程序員經過Visual Studio建立並運行iOS、Andriod和Windows應用。
q Xamarin Studio:Xamarin標準的移動端IDE平臺。做爲Xamarim 2.0的一部分發佈於2013年。
q Xamarin.Mac:這是Mac OS下的一款開發軟件,該軟件能夠在Mac OS中進行開發移動端程序,不管是iOS仍是Andriod。
q .Net Mobility Scanner:.Net Mobility Scanner可讓開發看到本身的.NET代碼中有多少內容是能夠運行在其它系統中的,特別是iOS、Andriod和Windows Phone。該功能使用了Silverlight而且是免費的。
開發Andriod有時候不像iOS同樣輕鬆,由於市場中在使用的Andriod版本和機型較多。而iOS這隻有幾個版本和屏幕。因此,在開發Android應用時須要對Android系統進行一些瞭解,特別是沒有接觸過Andriod系統的開發者更須要了解Android系統,以便在以後的開發過程當中準肯定位問題的所在。
Android操做系統最初由Andy Rubin開發而來,通過幾代的發展成爲了如今咱們熟知的Andriod系統。2005年,Google收購了Android項目之後,Android的版本除了版本號,還有具備了不一樣的名稱,這些名稱通常以甜品名命名。按照順序排列有:紙杯蛋糕(Cupcake,Android 1.5)、甜甜圈(Donut,Android 1.6)、鬆餅(Eclair,Android 2.0/2.1)、凍酸奶(Froyo,Android 2.2)、薑餅(Gingerbread,Android 2.3)、蜂巢(Honeycomb,Android 3.0)、冰激凌三明治(Ice Cream Sandwich,Android 4.0)、果凍豆(Jelly Bean,Android 4.1和Android 4.2)和KitKat(Android 4.4)。固然不能忘記當前(筆者寫書時)最新的Android L,也是Android 5.0版本,同時它的名稱是Lollipop(棒棒糖)。具體版本信息如表1-1所示。而每一個版本的具體特性,讀者能夠自行查找。
表1-1 Android版本信息
這裏的幾個版本都是比較常見的版本,並且在開發對應的應用時須要考慮,本身的應用是否能夠在這些平臺下正常運行。固然除了版本的問題,因爲各大廠商使用了不一樣的屏幕大小,因此編程時對屏幕的大小的掌握也是必須的。
首先,在這裏咱們須要瞭解Android系統的結構。Android在Android L以前的版本中的框架結構主要包含了4個部分:Application(應用程序)、Application Framework(應用程序框架)、系統運行層和Linux核心層組成。在系統運行層中又有兩個部分Libraries(庫)和Android Runtime(Android運行時)。
q Application:主要是提供了各類應用,如撥號、短信、瀏覽器等應用程序。
q Application Framework:主要提供了各類應用中須要用到的組件,可讓應用程序使用這些組件進行開發和運行。
q 系統運行層:系統運行層分兩部分,Libraries提供了運行時的庫,而Android Runtime運行這Dalvk虛擬機。
q Linux內核層:提供了基本的系統操做和硬件管理的程序,固然Dalvk虛擬機也是運行在內核之上。
在瞭解了Xamarin和Andriod系統以後,下面咱們須要瞭解一下如何使用這些工具和系統來開發咱們的應用程序。
在開發Android應用時,須要用到ADT(Android Developers Tool,Android開發工具)。該工具不只包含了Android SDK Manager工具,還包含了Android模擬器管理工具。使用ADT不只能夠從Google官網中下載最新的Android SDK和各類版本的工具,還能夠管理各類模擬器。ADT的SDK管理操做界面如圖1.1所示。固然在ADT還提供了其它的性能監控DDMS等工具。
圖1.1 Android SDK管理
在擁有了ADT後還不能算完成了Android開發環境的。在使用ADT前,還須要在系統中安裝Java運行環境的支持。因爲Xamarin工具的限制,咱們如今只能使用32位版本的JDK,即使是64位的系統也必須安裝32位的JDK,才能夠正常安裝並使用Xamarin。
在安裝完成Java的JDK之後,咱們須要經過Android SDK管理器下載須要的Android SDK版本和對應工具(具體內容以後會講到)。這樣一個Android環境纔算完成。
Xamarin不能單單認爲是一個軟件,而是要看成一個平臺。它是由一系列軟件搭建而成的環境和平臺。在使用Xamarin開發Android應用時,除了提供上一節中的Andriod開發環境外,還須要其它工具和軟件。
首先,系統中須要安裝Android NDK for Windows version r8d的支持,而後還須要GTK#的支持。這樣才能夠開始安裝Xamarin Studio和Xamarin。也就是說安裝Xamarin必須的有如下工具軟件:
q Android NDK for Windows
q GTK#
q Xamarin Studio
q Xamarin
除了這些內容,有可能還須要在Xamrin官網上下載專有組件。這些組建件可能用於專有的一些功能的實現,具體使用能夠參考官網的說明。
VS 2013是指微軟的Visual Studio 2013。這是微軟開發的較爲新的IDE。VS 2013很好的支持了Windows操做系統,而且原生的支持C#編程。它也是本書的主要操做平臺。對於C#程序員來講,這也是他們的主戰場。熟悉的操做環境能夠節省了很多平臺的學習時間。具體的內容和區別咱們將在以後的內容中講解。
本章內容介紹就這麼多,下一章的內容中咱們會提供這些工具和軟件的安裝方式。
本文選自:Xamarin Android開發實戰基礎篇大學霸資料,轉載請註明出處,尊重技術尊重IT人!