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. Xamarin.Android使用教程之Android开发所需的模拟器

    2019独角兽企业重金招聘Python工程师标准>>> 如今,在一个模拟器中运行Android应用程序时有很多种选择,今天,我们将为大家介绍当使用Xamarin开发Android应用 ...

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

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

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

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

  5. 运动控制卡应用开发教程之LabVIEW

    今天,我们来讲解一下正运动技术运动控制卡应用开发教程之LabVIEW. 在正式学习之前,我们先了解一下正运动技术的运动控制卡ECI2418和ECI2618.这两款产品分别是4轴,6轴运动控制卡. EC ...

  6. EtherCAT运动控制卡开发教程之Qt(中):小线段连续轨迹加工、暂停与继续

    今天,正运动小助手给大家分享一下EtherCAT运动控制卡开发教程之Qt,主要介绍一下如何通过Qt编程实现小线段轨迹连续加工,暂停与继续. ECI2828运动控制卡的硬件介绍 ECI2828系列控制卡 ...

  7. ​Unity 2D游戏开发教程之2D游戏的运行效果

    ​Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑 ...

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

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

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

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

最新文章

  1. 2021年,自动驾驶将我们带到何处去?
  2. 根据浏览器内核判断是web/iOS/android/ipad/iphone 来打开不同的网站或页面
  3. Matlab 条形图实例
  4. (10)调用门提权(无参数)
  5. 五大特点_探究干细胞五大特点:(五)不成瘤
  6. 三年经验前端社招——丰巢科技
  7. 浅谈js模块化:commons、AMD、CMD、ES6几种模块化的用法及各自的特点
  8. BZOJ1050 [HAOI2006]旅行comf
  9. python备份数据库
  10. 系统架构改进--多系统用户整合
  11. 华为路由器GRE隧道配置
  12. 提升业务投入和研发人效,2个实用建议,很多大公司都在用
  13. clickhouse 如何使用SQL 管理用户和角色
  14. 战列舰机械计算机,问个事,二战时期的战列舰可以装备垂直稳定仪么?
  15. zoj 1582 Careless Tony(水!)
  16. C#XML序列化特性全中文教程
  17. Codeforces Round #644 (Div. 3) H.Binary Median
  18. oracle dba要学多久,Oracle DBA速成法的潜规则
  19. Zemax学习笔记(9)- 双胶合透镜消除色差的实例
  20. 对这个短视频提取的方法,来提提意见

热门文章

  1. debian安装emacs23
  2. PLSQL程序编写杂烦数据表信息编写批量排版
  3. Silverlight中的ControlTemplate(2)
  4. NFS 网络挂载问题 解决
  5. vue中使用baidushare分享到微信无法显示bug解决方案
  6. 解决mysql导入数据文件过慢的问题
  7. get/post时中文乱码问题的解决办法
  8. vs2017 2019 下载更新慢的解决方法
  9. springboot获取getBean方法以及ApplicationContext空指针问题解决
  10. 视图的getWidth()和getHeight()返回0