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. CDNJS:使用JavaScript CDN加速网站载入速度

    先介绍一下: 内容传递网络(CDN)或者叫内容分发网络,他的作用是给不同区域的访客以其最快的网速.比如,你的网站是开在美国的,但很多访客来自中国,无疑他们会觉得速度很慢,那么,怎么为他们提速呢?简单来 ...

  2. POJ 2418 Hardwood Species

                                                     Hardwood Species Time Limit: 10000MS   Memory Limit ...

  3. sql 批量更新

    利用update和select进行批量更新 UPDATE Table1 SET categoryId =(SELECT Id FROM Table2 WHERE Table1 .Id=Table2.c ...

  4. Android之项目推荐使用的第三方库,有助于快速开发,欢迎各位网友补充

    1. 使用上拉更多,下拉刷新:https://github.com/JosephPeng/XListView-Android这个是github上面更为火爆的:https://github.com/ch ...

  5. SGU 170 Particles(规律题)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=170 解题报告:输入两个由'+'和'-'组成的字符串,让你判断第二个串能不能由第一个 ...

  6. Powershell常用命令

    Powershell常用命令1.Get-Command 得到Powshell所有命令2.Get-Process 获取所有进程3.Set-Alias 给指定命令重命名 如:Set-Alias aaa G ...

  7. A desmos graph supersampling test

  8. Linux统计文件个数

    查看某个文件夹下的文件个数用ls列目录,用grep过虑,再用wc统计即可 用ls -l列出后, 每一行对应一个文件或目录, 如果第一个字母为’-'则为普通文件, 若为’d'则为子目录 + +grep过 ...

  9. (int),Int32.Parse() 和 Convert.toInt32() 的区别

    在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...

  10. HTTP认证相关

    Java HTTPBasicAuth http://blog.csdn.net/kkdelta/article/details/28419625Python HTTPBasicAuth http:// ...