Xamarin.Android入门

    大家好,今天给大家介绍一下Xamarin.Android的整体开发环境。


    首先,我在这里说下为啥写技术博客:最近遇到一个前辈,他已经干了七年了,算是个老手了,无意中看到他的博客,他也是从新手过来的,他写博客的初衷是希望记录自己学过的点点滴滴,并且跟他人分享自己所学的、与他人进行技术交流,从而学到更多的东西,我觉得很不错,所以我会坚持写博客,有学到新的东西就与大家分享,也欢迎大家可以一起探讨问题,共同进步。


    下面开始介绍Xamarin.Android的开发环境,希望能帮到大家。

1.创建项目

    在新建项目里选择C#->Android:

2.项目架构

    创建好后整个项目的架构:
Xamarin.Android入门_第1张图片
    Manifest.xml是安卓底下的清单文件,可以定义应用程序及其组件的结构和元数据。
    AssemblyInfo.cs是程序集信息文件,通过特性(Attribute)来设置程序集(dll文件)的常规信息,供查看或作为配置信息供程序内部使用。
    引用里面就是项目底下引用的dll动态库文件,需要添加动态库的时候可以在这里添加。
    Assets文件夹是资源文件夹,里面保存的一些原始的文件,里面的资源会原封不动的打包到apk中。
    Resources也是资源文件夹但是它里面保存的文件大多数都会被编译,并且都会被赋予资源ID;Resources底下还分三个文件夹:drawable放置图片以及设置xml文件(设置控件样式)等;layout里面放置axml文件,是安卓的界面布局文件;values里面xml文件是用来描述一些简单值,例如,数组、颜色、尺寸、字符串和样式值等。
    Resources.Designer.cs里面主要是放置资源id以及特性Attribute,这里面不需要我们写,当我们添加id或者图片时他会自动生成。
    MainActivity.cs是安卓的程序入口,继承自Activity类。

3.运行安卓app程序

    接下来开始我们的第一个安卓程序,我们先看MainActivity.cs文件:

    [Activity(Label = “App29”, MainLauncher = true, Icon = “@drawable/icon”)]这个用到了C#特性,用来初始化app信息(应用名称为App29,MainLauncher设置为true时,为安卓的主activity,icon为设置应用图标)
    OnCreate方法对Activity进行初始化,一般是对布局进行初始化,先看下运行效果:
Xamarin.Android入门_第2张图片
    我们看下SetContentView方法,里面传参是int类型的,这里我们看到Resource.Layout.Main,我们先来看下布局文件Main.xaml,点击source可以看到源码:

    可以看到这个布局文件里有一个LinearLayout布局,里面放置了一个Button,里面android:id=”@+id/MyButton”就是在Resource资源里面添加id,名字为MyButton;android:text=”@string/Hello”是设置安卓文本内容,内容即为value文件夹String.xml对应的string标签:
Xamarin.Android入门_第3张图片
    在前面我们说到,Resource.Designer.cs里面放置了资源Id,我们现在去该文件底下找一下,Id类里面找到了MyButton:
Xamarin.Android入门_第4张图片
    类似的布局Layout,文本信息String,在里面都可以找到对应的Id,这里就不贴出来了。
    我们再回头看下MainActivity.cs文件,SetContentView就是设置Activity布局,将Main.axml引入; Button button = FindViewById(Resource.Id.MyButton);这里用到了FindViewById方法,因为Main.axml里面给Button控件赋值Id,所以这边可以通过Id来找到对应的控件。button.Click += delegate { button.Text = string.Format(“{0} clicks!”, count++); };设置button点击事件,当我们调试的时候点击按钮,button里面的文本就会变化:
Xamarin.Android入门_第5张图片
    好了,整个Xamarin.Android环境就介绍到这了,写的不好的地方希望大家能在下面评论留言,予以指正,谢谢^0^

你可能感兴趣的:(Xamarin.Android)