首页 > 编程语言 >c#开发安卓手机类的应用

c#开发安卓手机类的应用

时间:2023-07-17 10:11:16浏览次数:55  
标签:Xamarin c# 安卓 VS2015 iOS C# 开发 手机 Android

为什么用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的乐趣。

首先先看一看Android开发环境安装和配置图文教程,搭建Android开发环境。
————————————————
版权声明:本文为CSDN博主「夜刺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/heiyefengdi/article/details/131760174

标签:Xamarin,c#,安卓,VS2015,iOS,C#,开发,手机,Android
From: https://www.cnblogs.com/yeci/p/17559245.html

相关文章

  • cdn静态资源加速
    阿里云cdn产品https://www.aliyun.com/product/cdnCDN通过广泛的网络节点分布,提供快速、稳定、安全、可编程的全球内容分发加速服务,支持将网站、音视频、下载等内容分发至接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。什么是cdn全称:ContentD......
  • c#.net实现浏览器端大文件分片上传
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • spdlog日志库源码:CMake构建项目
    目录spdlog项目构成CMake构建根目录CMakeLists.txtcmake版本要求include专用cmake文件设置默认build类型编译器配置判断当前项目是否为spdlog选项开关spdlog项目构成Github源码:https://github.com/gabime/spdlogspdlog项目采用CMake构建,其一级目录结构如下$tree-L1.├─......
  • net core-socket编程
    基本概念:TCP和UDP的区别具体区别如下:1)TCP是面向连接的传输。UDP是无连接的传输2)TCP有流量控制、拥塞控制,检验数据数据按序到达,而UDP则相反。3)TCP的路由选择只发生在建立连接的时候,而UDP的每个报文都要进行路由选择4)TCP是可靠性传输,他的可靠性是由超时重发机制实......
  • dockerhub网页无法访问解决
    docker官网最近无法访问,如果只是拉取镜像,其实问题不大,可以通过设置中科大,阿里等镜像仓库解决;但是如果想要查询tag,即docker镜像版本类型等信息,docker本身的命令并不支持,只能从web网页查看,找到一个网站,大部分热门的可查,据说有一些镜像可能版本较老,凑合使用吧:Docker......
  • 【.Net Core】生成项目处理器架构MSIL与目标项目架构 "AMD64" 不一致
    修复方法在当前项目的项目文件中<PropertyGroup>标签中添加架构(按照需要,可以只需要保留一个):<PropertyGroup><Platforms>AnyCpu;x64</Platforms></PropertyGroup>在编译配置中,修改当前项目(或者目标项目)的编译架构:注意,Debug和Release都需要修改......
  • 欧姆龙CP系列PLC以太网通讯欧姆龙cp1h以太网模块
    大家好,今天要和大家分享的是一款在工控领域中非常实用的产品——捷米特JM-ETH-CP转以太网模块。这款模块采用了即插即用的设计,不仅不会占用PLC的通讯口,而且可以通过复用接口让触摸屏与PLC进行通讯。这个设计真的非常巧妙,相信会让很多工控从业者感到非常方便。 那么,这款捷米特J......
  • cesium左键事件取值
    import{ScreenSpaceEventHandler,ScreenSpaceEventType, MathascMath,ShadowMode,Color,Cartographic,Cartesian2,Cartesian3,defined}from'cesium';functionbindMapClickEvent(){if(!handler){handler=newScreenSpaceEventHand......
  • 线程启动、结束,创建线程多法、join,detach
    线程启动、结束,创建线程多法、join,detach视频链接:https://www.bilibili.com/video/BV1Yb411L7ak/?p=4&spm_id_from=333.880.my_history.page.click&vd_source=4c026d3f6b5fac18846e94bc649fd7d0参考博主文章:https://blog.csdn.net/qq_38231713/article/details/106091372join......
  • abc310e <公式递推(dp?)>
    题目E-NANDrepeatedly思路总结公式递推,找到相邻两项间的关系;代码Code#include<iostream>#include<algorithm>#include<vector>#include<cstring>usingnamespacestd;usingLL=longlong;usingPII=pair<int,int>;constintN=1e......