Xamarin廢話我就很少說了。html
就是一款編寫Android和IOS應用的IDE,從Visual Studio2010就開始有個這個插件。只要發展什麼的,我以爲在這裏說還不如本身去百度呢。html5
入正題:java
1、安裝和配置(以Visual Studio Pro 2015爲例)android
Visual Studio2015直接提供了這個插件的選擇項,稍微提示一下,若是要安裝的話,最好準備好十個小時的打算,並且是網速不錯的狀況下,由於要下載Android api和 Java sdk等相關的組件,是很耗時的,固然,能夠分步驟裝,好比,先安裝默認的配置,只安裝默認的C#配置項,而後再修復的時候,點擊安裝,再選擇Xamarin,其實這樣的目的只不過是爲了讓視覺偏差而已,若是網速不夠,仍是很慢很慢的。api
如圖,在此狀況下oracle
就是原本安裝好C#默認配置的狀況下,再次運行安裝包,會有三個按鈕 '修改'、'修復'、'卸載',此時咱們選擇修改,而後再跨平臺移動開發的Xamarin前面勾選就能夠了,至於Android SDK和Java SDK,強烈建議手動下載。jsp
爲了方便期間,直接去 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 下載java sdk,去百度搜索一下 Android Studio,就能夠下載Android sdk等等相關的東西了。安裝完成以後會出現 SDK Manage、AVD Manager,這對於咱們來講已經夠用了。
編輯器
android studio具體安裝:http://www.cnblogs.com/mfryf/archive/2013/05/20/3089143.html
工具
安裝完成以後,要下載SDK和android虛擬機校驗。完成以後,就能夠配置,若是是直接一次性安裝的,是不須要配置,若是是分開的,則能夠打開Visual studio2015在 「工具」→「選項」 裏面找到Xamarin,而後分別配置一下。
post
其中,包含android下載,就是sdk更新,和虛擬機管理等等。網上有不少辦法。我這裏給你們提供 API 23的Host方式,網上找到的通常都是API19以前的,我也找了好久,才找到API 23 的代理方式。
路徑:C:\Windows\System32\Drivers\etc 在這個文件夾下面的hosts文件,右鍵,記事本或者其餘的文本編輯器打開,在最後添加上
74.125.20.31 dl-ssl.google.com
74.125.136.138 developer.android.com
203.208.41.128 dl.google.com
這三個地址就能夠了,請注意,將這個三個地址加到Hosts文件的後面就能夠了
2、重要的時刻來了,咱們也飛一下代碼
一個簡單的例子,請參照:http://www.cnblogs.com/madyina/p/4671708.html 其實呢,這位大哥,已經弄了一個,可是以前我出錯的地方就是前面我提到的,API更新和 SDK Manager這裏,其餘的能夠參照這位大哥寫的。這裏,我就把我用到的控件和一些寫法,和你們分享一下。
在裝逼以前,我先整理一下,整個的Android文件目錄。
目錄結構如圖:
一、Properties這裏指的項目的屬性,其中 AndroidManifest.xml 在java裏面是一個很重要的註冊文件,可是在這裏具體怎麼用,請原諒,我尚未搞清楚。至於AssemblyInfo.cs這個文件我就不說了。
二、Assets這個文件夾,目前我也沒有明白,可是我感受他是一個解釋性的文件夾,能夠不理睬,包括裏面的文檔。
三、Resources這個文件夾是至關的重要呀,基本上程序裏面全部的東西都是從這裏出去的。
(1)drawable 資源文件夾,相信你們都看到後綴名了,相似的資源文件均可以放在這裏。
(2)layout 視圖文件夾,咱們能看到的,能夠給咱們視覺效果的,都放在這裏。如圖:
這是Main.xml
(3)values 自定義xml文件的文件夾,存的是一些經常使用的xml信息。
四、Resource.Designer.cs這個文件就是全部的Resources文件都要在這個文件裏面生成惟一的對應關係的。如圖
這是咱們剛纔看到的Drawable的文件夾,裏面的每一張圖片在這裏都生成了惟一的對應常量。
五、GettingStarted.Xamarin 這個呢,不知道怎麼解釋了,看圖,一下就明白了
六、MainActivity 這也是最重要的一個cs文件,由於咱們的後臺代碼基本上都是從這裏出去的。
友情提示一下:添加資源文件的時候請注意xml文件,後面加上 「s」 雖然我不知道爲何這個玩意這個狗屎,可是,不加 「s」 我資源文件的id裏面沒有找到,也就是說用不了。
下面直接開始一些組件的用法
1、TextView
<TextView android:text="@string/tv_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/yellow" android:autoLink="phone" android:textSize="48px" android:id="@+id/tv_Color" android:gravity="center" />
這是界面代碼,我以爲這個解釋起來沒有必要了,我就說下其中的textColor和text這兩個的寫法,首先,你們會看到這裏有一個@,「@」在android裏面,就是引用資源的意思。@string,引用string 。@string/tv_phone 這裏的意思就是引用 strings.xml下面的 name=「tv_phone」的資源。在前面已經說到在 Resources的文件夾下面定義了Strings.xml文件。這裏就是對於資源文件的一個運用。
這就是個人Strings.xml文件,相信你們已經看明白了什麼。
在這裏,我提示一下你們的是就是autoLink這個屬性,這個屬性就是電話號碼能夠直接撥打的意思。
2、ImageView
<ImageView android:src="@drawable/administrator" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/iv_change_url" />
就是這個樣子的,值得注意的是, 若是你是從工具欄裏面直接拖過來的ImageView,那麼請注意他的寫法 android:src="@android:drawable/ic_menu_gallery" 這個東西前面的@android真心是個喳喳,就由於這個問題,我搞了小半個小時才找到毛病,直接用@drawable就能夠了,可是由於一個android沒有刪除,各類生成不成功。
3、EditText
<EditText android:id="@+id/et_txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" android:hint="@string/et_txt" />
對於這個組件,就解釋一下 inputType="phone" 在這裏的意思就是說當咱們開始輸入的時候默認的打開的是撥號鍵盤,由於phone都是數字麼,意思就是打開的就是數字鍵盤,還有就是hint,能夠叫作提示信息,就是html5裏面的placeholder屬性。
4、Button
<Button android:id="@+id/btn_Call" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn_ChangColor" />
對於Button,界面其實很這樣了,可是,最主要的是咱們的後臺代碼哦。
5、後臺代碼
前面已經說到了,後臺代碼都是在 MainActivity這個下面寫的
如圖,看着像過濾器的這個東西
Label就是你的apk的表頭的名字,Icon就是對應的圖標,接下來的看註釋就能夠了
一、就之前面的btn_ChangColor爲例,他的單擊事件應該這麼寫
編寫對應的事件
二、這裏由於實現了View.IOnClickListener這個接口,接口是這麼實現的
此時咱們亦能夠用 SetOnClickListener 方法,那麼,由於實現了接口麼,就這麼幹,就OK。
Button btn_change = FindViewById<Button>(Resource.Id.btn_Chang); btn_change.SetOnClickListener(this);
三、還能夠傳統寫法
對應的事件
四、在傳統寫法的基礎上,以前的版本我沒有試過,可是Visual Studio 2015確實能夠這麼寫
OK,就到這裏,原諒我這個新手。有興趣你們能夠一塊兒研究。