Android(Xamarin)之旅(一)


Xamarin廢話我就不多說了。

  就是一款編寫Android和IOS應用的IDE,從Visual Studio2010就開始有個這個插件。只要發展什么的,我覺得在這里說還不如自己去百度呢。

入正題:

一、安裝和配置(以Visual Studio Pro 2015為例)

  Visual Studio2015直接提供了這個插件的選擇項,稍微提示一下,如果要安裝的話,最好准備好十個小時的打算,而且是網速不錯的情況下,因為要下載Android api和 Java sdk等相關的組件,是很耗時的,當然,可以分步驟裝,比如,先安裝默認的配置,只安裝默認的C#配置項,然后再修復的時候,點擊安裝,再選擇Xamarin,其實這樣的目的只不過是為了讓視覺誤差而已,如果網速不夠,還是很慢很慢的。

 如圖,在此情況下

    

就是本來安裝好C#默認配置的情況下,再次運行安裝包,會有三個按鈕 '修改'、'修復'、'卸載',此時我們選擇修改,然后再跨平台移動開發的Xamarin前面勾選就可以了,至於Android SDK和Java SDK,強烈建議手動下載。

  為了方便期間,直接去 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,然后分別配置一下。

    

    

  其中,包含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文件的后面就可以了

二、重要的時刻來了,我們也飛一下代碼

  一個簡單的例子,請參照:http://www.cnblogs.com/madyina/p/4671708.html   其實呢,這位大哥,已經弄了一個,但是之前我出錯的地方就是前面我提到的,API更新和 SDK Manager這里,其他的可以參照這位大哥寫的。這里,我就把我用到的控件和一些寫法,和大家分享一下。

  在裝逼之前,我先整理一下,整個的Android文件目錄。

    

目錄結構如圖:

  1、Properties這里指的項目的屬性,其中 AndroidManifest.xml 在java里面是一個很重要的注冊文件,但是在這里具體怎么用,請原諒,我還沒有搞清楚。至於AssemblyInfo.cs這個文件我就不說了。

  2、Assets這個文件夾,目前我也沒有明白,但是我感覺他是一個解釋性的文件夾,可以不理睬,包括里面的文檔。

  3、Resources這個文件夾是相當的重要呀,基本上程序里面所有的東西都是從這里出去的。

    (1)drawable 資源文件夾,相信大家都看到后綴名了,類似的資源文件都可以放在這里。

    (2)layout 視圖文件夾,我們能看到的,可以給我們視覺效果的,都放在這里。如圖:

    這是Main.xml

    (3)values 自定義xml文件的文件夾,存的是一些常用的xml信息。

  4、Resource.Designer.cs這個文件就是所有的Resources文件都要在這個文件里面生成唯一的對應關系的。如圖

  

  這是我們剛才看到的Drawable的文件夾,里面的每一張圖片在這里都生成了唯一的對應常量。

  5、GettingStarted.Xamarin  這個呢,不知道怎么解釋了,看圖,一下就明白了

  

  6、MainActivity 這也是最重要的一個cs文件,因為我們的后台代碼基本上都是從這里出去的。

  友情提示一下:添加資源文件的時候請注意xml文件,后面加上 “s” 雖然我不知道為什么這個玩意這個狗屎,但是,不加 “s” 我資源文件的id里面沒有找到,也就是說用不了。

下面直接開始一些組件的用法

  一、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" />

 

   這是界面代碼,我覺得這個解釋起來沒有必要了,我就說下其中的textColortext這兩個的寫法,首先,大家會看到這里有一個@,“@”在android里面,就是引用資源的意思。@string,引用string 。@string/tv_phone 這里的意思就是引用 strings.xml下面的 name=“tv_phone”的資源。在前面已經說到在 Resources的文件夾下面定義了Strings.xml文件。這里就是對於資源文件的一個運用。

  這就是我的Strings.xml文件,相信大家已經看明白了什么。

在這里,我提示一下大家的是就是autoLink這個屬性,這個屬性就是電話號碼可以直接撥打的意思。

  二、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沒有刪除,各種生成不成功。

  三、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屬性。

  四、Button

<Button
        android:id="@+id/btn_Call"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/btn_ChangColor" />

   對於Button,界面其實很這樣了,但是,最主要的是我們的后台代碼哦。

  五、后台代碼

  前面已經說到了,后台代碼都是在 MainActivity這個下面寫的

  如圖,看着像過濾器的這個東西

  

  Label就是你的apk的表頭的名字,Icon就是對應的圖標,接下來的看注釋就可以了

  

  1、就以前面的btn_ChangColor為例,他的單擊事件應該這么寫

   

  編寫對應的事件

  

  2、這里因為實現了View.IOnClickListener這個接口,接口是這么實現的

  

  此時我們亦可以用 SetOnClickListener 方法,那么,因為實現了接口么,就這么干,就OK。

   Button btn_change = FindViewById<Button>(Resource.Id.btn_Chang);
   btn_change.SetOnClickListener(this);

  

  3、還可以傳統寫法

  

  對應的事件

  

  4、在傳統寫法的基礎上,之前的版本我沒有試過,但是Visual Studio 2015確實可以這么寫

  

  OK,就到這里,原諒我這個新手。有興趣大家可以一起研究。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM