Android(Xamarin)之旅(一)

原文: Android(Xamarin)之旅(一)

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

 

   这是界面代码,我以为这个解释起来没有必要了,我就说下其中的textColortext这两个的写法,首先,你们会看到这里有一个@,“@”在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,就到这里,原谅我这个新手。有兴趣你们能够一块儿研究。

相关文章
相关标签/搜索