【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 ...
随机推荐
- 使用eclipse生成文档(javadoc)主要有三种方法:
使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在Ja ...
- weblogic服务目录迁移记录
weblogic服务,由于前期的规划不好,导致后期有点问题!为了更加规范运行服务及执行相关操作,故进行服务迁移... 先决条件:weblogic都是单个aminserver运行的,单个服务 问题解决: ...
- SpringBoot集成MyBatis的分页插件PageHelper
俗话说:好
- 内存问题排查工具 --- valgrind
1. 概述 2. Valgrind 3. 内存泄漏监测 3.1. 示例代码 3.2. 编译它 3.3. 用Valgrind监测进程的内存泄漏 4. 悬挂指针 4.1. 示例代码 4.2. Valgri ...
- xshell连接centos vi编辑器不能使用小键盘
莫名其妙的本人的xshell,在vim编辑脚本的时候,右侧小键盘无法输出数字,输出的都是一些字母,而且还是一个字母占一行,太过艹蛋! 后来就按照正规的操作步骤,又重建了连接,居然发现正常了! 百思一虑 ...
- jsp之radio取值与赋值
转自:https://blog.csdn.net/dongfengkuayue/article/details/50352937 取radio的值: js代码 $("input[name=' ...
- 禁止logback输出状态信息
一.问题描述 22:18:07,299 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resourc ...
- django日志使用TimeRotateFileHandler
如果使用django的settings.py设置日志会产生一些问题. 问题描述 报错信息如下: Traceback (most recent call last): File "C:\Pyt ...
- OC中instancetype与id的区别
1.在ARC环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型, 运行时检查类型. 2.在MRC环境下: instancetype和id一样,不做具体类型检 ...
- Android之Activity系列总结(三)--Activity的四种启动模式
一.返回栈简介 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即返回栈,也叫任务栈)中. 首先介绍一下任务栈: (1)程序打开时 ...