第1章  Xamarin开发Anroid应用介绍

如今智能手机已经盛行了好几年,而针对这些智能手机的软件开发也变得异常火热。但是在Android平台下只能使用Java开发,iOS平台下也只能使用Objective-C或Swift开发本文选自Xamarin Android开发实战上册。

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

1.1  Xamarin基本知识

在使用C#开发Android应用时,必须使用Xamarin。在开始使用Xamarin前,需要对Xamrin有一定的了解本文选自Xamarin Android开发实战上册。

1.1.1  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#跨平台的功能提供了可能。

1.1.2  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并且是免费的本文选自Xamarin Android开发实战上册。

Xamarin开发Anroid应用介绍的更多相关文章

  1. 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

    原文:[Xamarin开发 Android 系列 3]循序渐进的学习顺序 指定合理的学习步骤,将各个技术点进行强化.慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资 ...

  2. Xamarin开发Android应用打包apk

    Visual Studio中用Xamarin开发Android应用,生成apk文件有3种方法 1.debug时,代码目录下bin\Debug中会自动生成调试用***-Signed.apk文件,但是文件 ...

  3. 老司机学新平台 - Xamarin开发环境及开发框架初探

    随着被微软收购,最近一年间,Xamarin的火爆程度与日俱增.免费.更好的VS2015集成.更好的模拟器,甚至,在windows上运行和调试iOS平台程序,让我这样接触了十几年.NET平台的老司机,即 ...

  4. Xamarin Android教程如何使用Xamarin开发Android应用

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

  5. 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】

    原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置  最近的版本部署包,百度云离线下载:版本:Xama ...

  6. 【Xamarin开发 Android 系列 13】 应用打包部署

    原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参 ...

  7. 【Xamarin开发 Android 系列 2】VS2015跨平台开发的几种方式

    原文:[Xamarin开发 Android 系列 2]VS2015跨平台开发的几种方式 在微软Build大会上,微软宣布在VS2015中支持三种方式进行跨平台的开发. 1. Xamarin 2. Co ...

  8. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

  9. Xamarin开发教程如何使用Xamarin开发Android应用

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

随机推荐

  1. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)

    1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...

  2. SQL Server2008ldf文件太大

    --适用于SQL Server 2008的方法 USE [master] GO ALTER DATABASE RmyyHisDW SET RECOVERY SIMPLE WITH NO_WAIT GO ...

  3. [Effective JavaScript 笔记]第49条:数组迭代要优先使用for循环而不是for...in循环

    示例 下面代码中mean的输出值是多少? var scores=[98,74,85,77,93,100,89]; var total=0; for(var score in scores){ tota ...

  4. Vector3.Lerp 插值

    Vector3.Lerp 插值 static function Lerp (from : Vector3, to : Vector3, t : float) : Vector3 Description ...

  5. hiho #1143 : 骨牌覆盖问题·一 (运用快速幂矩阵)

    #1143 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然 ...

  6. linux 如何清理僵尸进程

    今天在维护服务器的时候,发现有5个nova-novncproxy的僵尸进程. 26327 ?        S      0:05  \_ /usr/bin/python /usr/bin/nova- ...

  7. 关于DCMTK3.6.0源代码编译的总结

    1.DCMTK cmake出来的代码是一样的.MT和MD版本的区别在于DCMTK工程下的每个子工程的代码生成中的MT还是MD,只要修改成为相应的值就可以了. 2.依赖包的选择.依赖包必须与上面中所说的 ...

  8. python4delphi import lxml pandas 出错的小结

    环境: 1.win10 64位 2.delphi xe8 3.python2.7 4.python4delphi  (svn 2015-03-21 发布的83版本号) 5.lxml 3.4.4(通过p ...

  9. 最长回文子串O(n)算法

    原文链接:英文版链接 首先,我们将字符串S中插入符号“#”转化成另一个字符串T. 比如:S = "abaaba",T = “#a#b#a#a#b#a#”. 为了找到最长回文字串,我 ...

  10. MYSQL随机抽取查询 MySQL Order By Rand()效率问题

    MYSQL随机抽取查询:MySQL Order By Rand()效率问题一直是开发人员的常见问题,俺们不是DBA,没有那么牛B,所只能慢慢研究咯,最近由于项目问题,需要大概研究了一下MYSQL的随机 ...