【Android】1.0 第1章 C#之Android手机App开发
分类:C#、Android、VS2015;创建日期:2016-01-20
目前Android在全世界市场上大约有75%的占有率,国人Android手机的持有比例更甚,甚至达到90%以上。因此搞计算机的一听说手机应用开发,一个个都像着了魔似的,既然有那么多人对它感兴趣,那咱也跟着玩一玩。但是,本模块不是介绍如何用Java开发,而是全部用C#去实现。
为什么用C#去实现?原因很简单,目前手机市场经过多年的你争我斗,现在就剩下Android、iOS、Windows Phone还能互相斗狠,其他的统统都被打趴下找不着北了。但是,学Android应用开发要用Java、学iOS应用开发要用Objective-C、学WindowsPhone应用开发要用C++,我的天,这不是故意折腾人吗,是不是用一种语言可以“通吃”这三种应用程序的开发呢?答案是“有”,那就是“C#”。
一、用C#开发移动应用的优势
用C#开发手机应用程序,建议首选VS2015,这是因为VS2015内置的是C# 6.0,很多原来实现起来比较繁琐的操作,在VS2015下也都变得非常简单了。
1、跨平台移动应用开发
VS2015的移动跨平台采用Xamarin架构,这让原本就熟悉Visual Studio的开发者不用再熟悉其他的开发工具就能直接开发移动应用程序。
(1)Win7:VS2015+C# 搞定 Android、iOS
在Win7下用VS2015创建项目时,可直接使用iOS及Android的项目模板。开发团队也可以将iOS以及Android的程序代码纳入到ALM,而且还可以使用TFS(Team Foundation Server)进行版本创建和配置的管理。
用C#编写移动App时,可使用功能齐备的Android和iOS设计器创建针对各个平台自定义的100%本机用户界面(Native UI Code)。另外,利用.NET构建移动应用程序时,还可以直接访问2万多个.NET库和Xamarin组件。

(2)Win10:VS2015+C# 搞定 Android、iOS、Windows Phone
在Win10下用VS2015创建项目时,可直接用C#快速构建适用于多种平台(Android、iOS、Windows Phone和Mac)的移动应用,而且可在不同平台间共享商业逻辑以及数据存取等程序。除了省下重新撰写的时间成本外,对于版本维护及代码的一致性也有相当大的帮助。

2、原生代码提升本机性能
VS2015编译针对iOS及Android平台的应用程序时,实际上是利用Xamarin将C#程序直接编译成ARM或者Intel的CPU的原生机器码,因此效率和性能与原生模式开发的Android和iOS应用程序相比没有不同。特别是在Android系统上,Xamarin并不是使用Android的Dalvik虚拟机,而是改为用CLR来实现,因此开发效率和执行性能都得到了大幅度的提升,有的甚至更甚于原生的应用程序。

3、直接访问核心平台API
除了.NET API以外,开发人员还能用C#直接访问所有平台的本机核心API,而且不会受到任何限制。

4、生命周期管理以及与Azure的连接
用C#开发移动应用时,可以轻松管理源代码存储库、生成、持续集成部署、单元测试和UI测试。而且还可以在开发和生产环境中运行诊断,通过遥测和分析实时监视应用性能和用户行为。
除了对Visual Studio功能具有完全的访问权限以外,C#开发的移动应用还能与微软的云架构(Azure)移动服务快速集成并进行配置,并且可无缝添加各种服务,如云中的数据存储、客户身份验证、推送通知或离线同步,并可随时扩展到数百万台设备。
5、流行且成熟
移动开发对于全球范围内的组织变得越来越重要,目前国外数千家公司正在使用Xamarin和Visual Studio构建高质量的、任务关键型应用。
通过Visual Studio 2015和Xamarin,企业可以使用现有的技能和技术投资加速上市时间并为所有用例提供移动应用。
二、内容规划
本模块将全面介绍在VS2015下用C#+Xamarin开发Android手机App的各种技术。以后将不定期更新各章的内容,以方便查找。这些内容有些是原创的,有些是参考官网、教程、或者别人网上发布的代码总结而成的,有些则直接参考Java代码,然后自己再用VS2015和C#实现一遍,因此各章更新也不分先后,感觉放到哪合适就更新那里。
各章介绍的所有源程序都在VS2015简体中文企业版+SP1开发环境下调试通过。
【Android】1.0 第1章 C#之Android手机App开发的更多相关文章
- 在Android Studio 0.5.2中使用ArcGIS Android SDK
环境 操作系统:Mac OSX 10.8.5Android Studio: 0.5.2ArcGIS Android SDK: 10.2.3 操作步骤 在Android Studio中新建一个Modul ...
- HBuilder mui 手机app开发 Android手机app开发 ios手机app开发
经过一段时间的学习,做公司项目,对mui框架有了更加深入完整的了解,其实刚开始接触HBuilder中的mui框架只是简单的了解,并没有深入的研究,后来由于工作的需求,不得不深入研究,并运用的项目中去. ...
- Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException
一.写在前面 最近由于廖子尧忙于自己公司的事情和OkGo(一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理了诸多 ...
- Android 7.0 安装器安装过程分析 (com.android.packageinstaller)
1 安装入口PackageInstallerActivity,这个类只是在安装前做准备.通过各种校验,然后弹出被安装应用的权限框,等待用户安装.具体的流程如下 1.1 求mSessionId 如果是 ...
- 【适配整理】Android 7.0 调取系统相机崩溃解决android.os.FileUriExposedException
一.写在前面 最近由于廖子尧忙于自己公司的事情和 OkGo (一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护 ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理 ...
- HBuilder mui 手机app开发 Android手机app开发 ios手机app开发 打开新页面 预加载页面 关闭页面
创建子页面 在mobile app开发过程中,经常遇到卡头卡尾的页面,此时若使用局部滚动,在android手机上会出现滚动不流畅的问题: mui的解决思路是:将需要滚动的区域通过单独的webview实 ...
- Ubuntu 手机 app开发学习0
# 相关网址 http://developer.ubuntu.com/zh-cn/apps/sdk/ 0. 环境搭建 首选需要一个Ubuntu 14.04操作系统.没啥好讲的,直接安装了一个虚拟机. ...
- Android 4.0设计规范 优先导读 十大改变
在拜读和翻译了 Android design 设计指导后,对比 Android 4.0 与 Android2.3 及之前版本的 app 设计指导,总结了 Android 4.0 设计的 10 大改变: ...
- Android进阶之光-第1章-Android新特性-读书笔记
第 1 章 Android 新特性 1.1 Android 5.0 新特性 1.1.1 Android 5.0 主要新特性 1. 全新的 Material Design 新风格 Material De ...
随机推荐
- 转 php安装错误configure: error: Please reinstall the libcurl distribu
今天配置一台server的php支持curl的时候, 出现如下报错 checking for cURL in default path... not foundconfigure: error: Pl ...
- linux下kerberos教程
一.kerberos介绍 Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行 ...
- vsftp 虚拟用户测试
1.创建用于进行FTP验证的帐号密码数据库文件,单数行为账户名,偶数行为密码.[root@rhel1 vsftpd]# vi /etc/vsftpd/vuser.listuser1123456user ...
- 图片MassiGra045 简体中文|MG
Window自带的图片打开,加载很缓慢.今天推荐一款日本的急速打开图片MassiGra045 简体中文化,简称MG 下载地址: http://pan.baidu.com/s/1qYFgRiW 密码: ...
- Makefile 和 CMakeLists.txt
Makefile Makefile 的格式 target: prerequisites [tab]command 例子 #Makefile all:chap1 chap2 chap1: - - - : ...
- org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:
保存实体异常 https://blog.csdn.net/zzzz3621/article/details/9776539 org.hibernate.NonUniqueObjectException ...
- cnblogs修改网站图标icon
以下修改网络地址即可 <script type="text/javascript" language="javascript"> //Setting ...
- 成都达内推荐PHP书籍【update 2017.1.10】
[初阶](基础知识及入门) 01. <PHP与MySQL程序设计(第4版)> 02. <深入浅出MySQL 数据库开发 优化与管理维护 第2版> 03. <实战Nginx ...
- JAVA删除文件及文件夹
JAVA在删除文件或文件夹时,在java.io.File类下有个delete的方法,并且可以返回true or false, 用这个方法来删除单个文件时,很好使,但在删除文件夹时,如果文件夹下面有文件 ...
- fedora装机运行第一脚本
博主原创: #!/bin/bash echo "更换源&更新源......" yum install wget -y yum install yum-fastestmirr ...