Visual Studio 2019调试 安卓和IOS开发的app 

上图为C# 同一份源码在红米note 1S 的真机上运行安卓app,和iphone 13 模拟器运行ios版app。 (因为ios要在Iphone真机中调试,还需要其它操作开发环境配置,会在后续文中详解。)


写在最前:

本文将以最简单明了阐述 C#一份源码同时开发出ios和android的app, 为让不懂技术小白和初学者都一看就懂,故会跳过其它博主已经发布的xamarin建项目每步步骤,要学习可以参考他们。


1、在VS2019中项目解决方案结构:

在Visual Studio 2019中项目模板选择 移动应用(Xamarin.Forms)创建项目,会获得上图中的解决方案结构。

解决方案结构有三个项目组成,它们是

  • StockDiffEanrs,源码项目,所有的C#源码,和UI设计在这里面开发
  • StockDiffEarns.Android,安卓项目
  • StockDiffEarns.IOS, ios项目

重点在这里,不需要同时编写安卓项目和ios项目的源代码,只需要在第一个源码项目中完成,即一份c#代码同时完成安卓和ios app开发。


 2、展开第一个项目开发UI,如下图

1) 新建Views文件夹,

2) 在该文件夹下,添加新项,选择内容页,取名“CalcT.xaml”

3) 在CalcT.xaml中编写代码如上图,该部分代码就是app的UI 部分

至此 安卓app和ios app 的UI 界面就同时完成了!


3、编写C# 代码完成实际功能

  • 该app只有一个按钮功能就是计算差价

如上图,点开CalcT.xaml在它对应的 CalcT.xaml.cs文件中编写C#代码

代码原理:计算差价,差价是负数,显示金额并以绿色显示,否则红色显示,并保留2数小数。


4、运行调试安卓app

1) 如上图选择 “Android设备管理器”

2) 在打开窗口中,新建一个安卓仿真器。 (过程中会连网下载安卓调试缺失的环境,会因为国内连接GOOGLE服务器不畅问题导致创建失败。根据对应错误网上查找解决办法)

3) 将第二个安卓项目设为启动项目

4) 从创建的安卓仿真器运行 app

5) 运行过程VS2019会自动编译,并启动仿真器,将app部署进安卓仿真器中,显示运行结果:

5、安卓app放到安卓手机中安装运行

1)  当完成上述过程,仿真器运行后在安卓项目文件夹下已经生成了apk安装包,那能直接拿去用呢?

答案是可以,但是需要改变VS2019编译方式从Debug模式改Release模式,再重新编译一次。要问为什么,原因就是本人亲测不这样做直接在安卓手机中可以安装,但运行会闪退!

右击第二个安卓项目,点击属性。显示上图。 取消两处勾选,将改为Release模式

2) 更改安卓app最低支持的安卓版本

如果最低版本选择安卓5.0,这样安卓4以下都无法安装此安装包。博主要在老手机安卓4.4.4红米note1s 的MIUI中运行,所以这里选择了4.3。 另外有小米MIX4 miui12 同样可以运行


6、生成ios app并运行调试

安卓的C#代码 开发的app可直接生成ios app并调试,但因为苹果设备特殊限制,Winddows电脑需要无线连着苹果电脑, 同时苹果电脑已经安装相应的XCODE 版本。

为了实现这个调试,VS2019需要 XCODE 12以上苹果电脑进行协同工作,不同的XCODE 版本有最低限度支持的macOS版本。所以,本人的苹果电脑macOS版本不支持运行XCODE 12,不得不将苹果电脑系统升级为了macOS 11.7, 这样就能运行 XCODE 13.1 比 XCODE12 高肯定支持。 经过一番折腾终于让苹果电脑系统和开发环境达到要求。

1)连接苹果电脑,右击第三个项目,设置为启动设备,点击VS2019调试按钮,VS2019提示远程连接苹果电脑的步骤后进入状态,

VS2019会自动检测苹果电脑的Mono版本,

并检查Xamarin SDK版本,如果版本不一致或缺失会自动安装。

最后会检查XCODE版本,这个不一致,则需要我们开发者手动在苹果电脑上安装!~

一切通过后,则显示苹果ios设备仿真器


7、生成ios app在iPhone和ipad中部署 

在苹果设备真机中部署ios app则需要C#编码以外的工作,则不在本文详解中,具体做法如上图所述。并会在后述文中进行阐述。


写在最后:

本文开宗明义,以最简单直白的图文让技术小白和初学者能快速了解C#的强大和跨平台特性,一份代码同时生成安卓和IOS app。在开发中遇到的情况和避坑文中已尽量做到详细。

针对软件产品经理和软件公司老板,或者有意外包的客户。请不要因为如此觉得程序员的工作量得到的降低。应该看到是一个开发团队同时完成了两个开发团队的工作量。 这样的好处是让app开发效率提高,不是工作量的降低,让app程序在后续中的维护和二次开发、版本管理,相应的统一。这样的好处不是针对程序员本身,恰恰这优点是针对软件公司老板,和产品源码交付给客户后的管理和二次开发。

也会有人质疑这种C#开发的跨平台app没有JAVA原生开发安卓,objectiveX原生开发的IOS 执行效率好。关于这悖论从C# 在20年前诞生在与C++的程序上就一直存在。就揪着这一点对C#进行打压,而无视它本身的优点。如今.NET开源, 并在跨平台上得到很全面的发展,C#做为.NET顶流开发语言,它的优点,跨平台性、类库丰富性从PC到移动端开发,可以说是一枝独秀。值得初学者明白和学习,开发者在真实的工作中多了一个强有力的移动平台开发语言和工具!

c# 比JAVA弱吗? 用c#一份源码同时生成安卓和IOS APP相关推荐

  1. 即时通讯源码,包含安卓,iOS,H5,MacOS,PC,Java后端

    即时通讯源码,包含安卓,iOS,H5,MacOS,PC,Java后端 YID:391000625261646335酷柒网络技术有限公司

  2. ​2019年排名Top 100的Java类库——在分析了30073份源码之后得出的结论

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 246篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 最近,OveOps公布 ...

  3. Java的三种代理模式完整源码分析

    Java的三种代理模式&完整源码分析 Java的三种代理模式&完整源码分析 参考资料: 博客园-Java的三种代理模式 简书-JDK动态代理-超详细源码分析 [博客园-WeakCach ...

  4. java钢琴键_javapiano Java Piano模拟钢琴效果的完整源码 联合开发网 - pudn.com

    javapiano 所属分类:Java编程 开发工具:Java 文件大小:32KB 下载次数:10 上传日期:2014-04-15 21:09:50 上 传 者:王小强 说明:  Java Piano ...

  5. 这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析

    前言 package com.jvm.classloader;class Father2{public static String strFather="HelloJVM_Father&qu ...

  6. 2018年排名Top 100的Java类库——在分析了277,975份源码之后得出的结论

    最近,OveOps公布了The Top 100 Java Libraries in 2018 - Based on 277,975 Source Files,Hollis查看了这份榜单,做了翻译和补充 ...

  7. java共享租车信息管理系统jsp源码

    介绍: java web项目共享租车jsp源码,基于servlet+jsp+jdbc的后台管理系统,包含5个模块:汽车账户部管理.租车账户部管理.汽车信息管理表.租车记录表.租车租聘表.功能完整,均能 ...

  8. java期末项目实验答辩毕业设计工程项目源码

    java期末项目实验答辩毕业设计工程项目源码 自己收集的各行各业的都有,这一套源码吃遍所有作业项目! 1.BBS论坛系统(jsp+sql) 2.ERP管理系统(jsp+servlet) 3.OA办公自 ...

  9. java计算机毕业设计物流站环境监测系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计物流站环境监测系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计物流站环境监测系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技 ...

最新文章

  1. Linux 登陆火星,占有率再超 Windows,NASA 还在 GitHub 发布源码教程
  2. mxnet 常用层,卷积激活损失
  3. oracle强制切换redolog组
  4. 大型互联网系统的监控流水线
  5. 华东师范大学计算机模拟试题,华东师范大学网院《计算机入门》模拟试题(卷)(ABCD卷合,含详细答案解析).doc...
  6. Mysql load data local命令详解
  7. 什么样的终端才是最合适桌面虚拟化的呢?
  8. 微信怎么at所有人_变速箱报废、发动机故障、车门下沉,全新马自达3到底怎么了?...
  9. 超赞!墙裂推荐一个 MySQL 自动化运维工具!
  10. 免费好用的 PDF 编辑器推荐
  11. 计算机使用交接记录表,交接文档_计算机软件及应用_IT计算机_专业资料
  12. 微信扫码登录详细操作流程(微信公众平台开发)
  13. linux下 查看 光模块信息,HPE品牌SFP光模块信息检查办法
  14. egret环境问题汇总
  15. U3D Distortion
  16. 国外问卷调查好做吗?
  17. 安卓手机屏幕失灵后通讯录导出
  18. php支付宝聚合支付源码,ThinkPHP5.1聚合支付源码
  19. hypermesh生成MNF柔性体
  20. 数据结构—1.时间复杂度

热门文章

  1. sql数据库查询计算机学院,SQL简单查询-2
  2. 全志V3S嵌入式驱动开发(开发软件搭建)
  3. 推荐几个bootstrap 后端UI框架
  4. upx与px互相转换
  5. 下列不属于php技术的优点是,下列各项不属于短信息技术特点的有()。A.技术成熟B.成本高昂C.实时性好D.反映快E.使用频繁...
  6. 对HTML的格式和标签介绍
  7. python爬虫分布图_13天搞定Python分布爬虫!成为炙手可热的爬虫工程师
  8. AlertManager 简介与使用
  9. 羧基/羟基/氨基/巯基/环氧基/磺酸/胺基/苯基官能团化二氧化硅微球制备研究过程
  10. ARM FPU 加速浮点计算 介绍