Xamarin Anroid开发教程之Anroid开发工具及应用介绍

Xamarin开发Anroid应用介绍

如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热。但是在Android平台下只能使用Java开发,iOS平台下也只能使用Objective-C或Swift开发。对于那些C#程序员却只能眼看着这些火热的平台流口水。在几年前只能重新学习一门新的语言,才可以进入这些智能手机开发行业。现在,我们有了Xamarin。C#程序员不需要了解其它语言,就可以开始编写Android、iOS或Windows Phone平台下的软件。在本章中,读者将了解使用Xamarin开发Android应用的必备知识。

Xamarin基本知识

在使用C#开发Android应用时,必须使用Xamarin。在开始使用Xamarin前,需要对Xamrin有一定的了解。

Xamarin Anroid开发教程之Xamarin发展

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 Anroid开发教程之Xamarin工具

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。

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并且是免费的。

Android基本知识

开发Andriod有时候不像iOS一样轻松,因为市场中在使用的Andriod版本和机型较多。而iOS这只有几个版本和屏幕。所以,在开发Android应用时需要对Android系统进行一些了解,特别是没有接触过Andriod系统的开发者更需要了解Android系统,以便在之后的开发过程中准确定位问题的所在。

Xamarin Anroid开发教程之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版本信息

 

这里的几个版本都是比较常见的版本,而且在开发对应的应用时需要考虑,自己的应用是否可以在这些平台下正常运行。当然除了版本的问题,由于各大厂商使用了不同的屏幕大小,所以编程时对屏幕的大小的掌握也是必须的。

Xamarin Anroid开发教程之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开发Android应用

在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和系统来开发我们的应用程序。

Xamarin Anroid开发教程之Android开发工具

在开发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 Anroid开发教程之Xamarin开发工具

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介绍

VS 2013是指微软的Visual Studio 2013。这是微软开发的较为新的IDE。VS 2013很好的支持了Windows操作系统,并且原生的支持C#编程。它也是本书的主要操作平台。对于C#程序员来说,这也是他们的主战场。熟悉的操作环境可以节省了不少平台的学习时间。具体的内容和区别我们将在之后的内容中讲解。

本章内容介绍就这么多,下一章的内容中我们会提供这些工具和软件的安装方式。

本文选自:Xamarin Android开发实战基础篇大学霸资料,转载请注明出处,尊重技术尊重IT人!

Xamarin Anroid开发教程之Anroid开发工具及应用介绍的更多相关文章

  1. AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

    AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码 添加Watch应用对象时新增内容介绍 Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 Wa ...

  2. iOS 9应用开发教程之ios9中实现按钮的响应

    iOS 9应用开发教程之ios9中实现按钮的响应 IOS9实现按钮的响应 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应:另一 ...

  3. iOS 9应用开发教程之ios9的视图

    iOS 9应用开发教程之ios9的视图 了解IOS9的视图 在iPhone或者iPad中,用户看到的和摸到的都是视图.视图是用户界面的重要组成元素.本节将主要讲解ios9视图的添加.删除以及位置和大小 ...

  4. iOS 9应用开发教程之ios9中实现button的响应

    iOS 9应用开发教程之ios9中实现button的响应 IOS9实现button的响应 button主要是实现用户交互的.即实现响应.button实现响应的方式能够依据加入button的不同分为两种 ...

  5. HealthKit开发教程之HealthKit的复合数据

    HealthKit开发教程之HealthKit的复合数据 复合数据就是复合单位和值构成的数据.所谓复合单位就是由单位进行乘法.除法等得到的单位,如m/s.lb·ft等就是复合单位.本节将针对这些复合数 ...

  6. HealthKit开发教程之HealthKit的辅助数据

    HealthKit开发教程之HealthKit的辅助数据 在HealthKit中除了主要数据之外,还有6个辅助数据分别为:体积类型数据.压力类型数据.时间类型数据.温度类型数据.标量类型数据和电导率类 ...

  7. HealthKit开发教程之HealthKit的主要类型数据

    HealthKit开发教程之HealthKit的主要类型数据 在HealthKit中,我们将最常用到的数据称之为主要数据.主要数据基本上有三种:长度类型的数据.质量类型的数据.能量类型的数据.本节将主 ...

  8. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为“He ...

  9. iOS 9应用开发教程之iOS 9新特性

    iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS ...

随机推荐

  1. PHP error_log() 函数

    定义和用法 error_log() 函数向服务器错误记录.文件或远程目标发送一个错误. 若成功,返回 true,否则返回 false. 语法 error_log(error,type,destinat ...

  2. 最新 DEDECMS SQL 注入 0day

    4月29日消息:国内安全研究团队“知道创宇”称截获到最新DEDECMS SQL注入0day,DEDECMS官网目前提供下载的最新版5.7也受影响,截止本告警发出时官方尚未给出补丁或解决方案,此漏洞利用 ...

  3. [Effective JavaScript 笔记] 第9条:始终声明局部变量

    如果忘记将变量声明为局部变量,该变量将会隐式地转变为全局变量 function swap(a,i,j){ temp=a[i]; a[i]=a[j]; a[j]=temp; } 尽管该程序没有使用var ...

  4. hiho一下 第九十六周 数论五·欧拉函数

    题目1 : 数论五·欧拉函数 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho有时候会用密码写信来互相联系,他们用了一个很大的数当做密钥.小Hi和小Ho约定 ...

  5. Linux tcp_wrappers 详解

    tcp_wrappers是linux中一个安全机制[TCP_wrappers防火墙],一定程度上限制某种服务的访问权限,达到了保护系统的目的一. 要想用好tcp_wrappers,首先检查某种服务是否 ...

  6. 【Django】Django 如何使用 Django设置的日志?

    代码: from django.core.management.base import BaseCommand, CommandError from django.db import models # ...

  7. ecshop设置一个子类对应多个父类并指定跳转url的修改方法

    这是一篇记录在日记里面的技术文档,其实是对ecshop的二次开发.主要作用是将一个子类对应多个父类,并指定条跳转url的功能.ecshop是一款在线购物网站,感兴趣的可以下载源码看看.我们看看具体是怎 ...

  8. shell脚本批量生成配置文件

    如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原 ...

  9. swift init继承问题

    当在子类的 designated init方法中不手动调用 父类的 designated init方法时,如果父类有不接受任何参数的init,那么系统会自动调用它,编译器不会报错.但是如果父类中没有不 ...

  10. 【JAVA、C++】LeetCode 012 Integer to Roman

    Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range from 1 t ...