C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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


写在最前:

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


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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

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

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


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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

1) 新建Views文件夹,

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

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

至此 Android app和iOS app 的UI 界面就同时完成了!


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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

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


4、运行调试安卓app

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)


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提示远程连接苹果电脑的步骤后进入状态,

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

VS2019远程连接MAC xcode

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

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

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

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

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

在iphone 13仿真器中运行APP

在iphone真机中调试后在后续文章,喜欢的朋友可以收藏或关注


7、生成iOS app在iPhone和iPad中部署

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP(c反应蛋白高说明什么)

​在苹果设备真机中部署iOS app则需要在MAC电脑中USB连接iPhone并启动XCODE远程和Windows连接才能调试,会在后续文章阐述。


写在最后:

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

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

如今.NET开源, 并在跨平台上得到很全面的发展,C#做为.NET顶流开发语言,它的优点,跨平台性、类库丰富性从PC到移动端开发,可以说是一枝独秀。值得初学者明白和学习,开发者在真实的工作中多了一个强有力的移动平台开发语言和工具!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月28日 上午11:38
下一篇 2023年4月28日 上午11:48

相关推荐

  • 驻马店市保险行业协会 加强内部管理 健全内控机制(保险公司内控管理指引)

    本报讯 (通讯员 高守俊 李金泽)近日,驻马店市保险行业协会召开四届协会理事会五次会议,对协会内控机制进一步梳理完善,全面推动规范化、标准化社团组织建设工作。 会议审议通过了大额财…

    科研百科 2024年1月24日
    124
  • “不会写代码,也能开发新应用”指的是以下哪新兴职业?蚂蚁新村

    蚂蚁新村职业小知识问题:“不会写代码,也能开发新应用”指的是以下哪新兴职业? “不会写代码,也能开发新应用”指的是以下哪新兴职业?蚂蚁新村 在这个数字化高速发展的时代,你是否曾经想…

    科研百科 2024年5月16日
    70
  • 上了大学以后没课的时候,千万不要摆烂,最应该做这四件事

    上了大学才知道,90%以上的同学没课的时候就是在宿舍睡觉,打游戏,刷视频,基本上一天不出门,吃饭全靠点外卖。 这样的同学啊,等到毕业的时候才发现自己什么也没有学到,反而还会说什么上…

    科研百科 2024年6月21日
    80
  • 基金自筹经费是什么意思

    基金自筹经费是指由基金组织或个人自筹资金用于研究的经费。这些经费通常来自于投资者的捐赠,或是通过股票出售获得的资金。 自筹经费基金通常由研究人员组成,他们利用这些经费来开展研究项目…

    科研百科 2024年10月24日
    0
  • 国外免费科研项目

    国外免费科研项目:探索未知领域的春天 近年来,随着全球化的不断深入,越来越多的人开始关注起国外的免费科研项目。这些项目不仅提供了一个全新的探索未知领域的机会,也为那些无法承担高昂研…

    科研百科 2025年2月8日
    0
  • 企业应用平台u8总账管理系统项目报告

    企业应用平台u8总账管理系统项目报告 摘要: 本报告介绍了企业应用平台u8总账管理系统的项目管理、需求分析、系统设计、开发实施和测试验证等情况。系统是一款功能强大、易于使用、安全可…

    科研百科 2025年1月25日
    1
  • u5728u4e00u8d77u5427

    u5728u4e00u8d77u5427:探索未知的世界 u5728u4e00u8d77u5427:探索未知的世界 每个人都有自己的梦想,有些人梦想成为一名宇航员,有些人梦想成为一…

    科研百科 2025年1月2日
    1
  • 河南科研项目检查

    河南科研项目检查 近年来,河南省在科技创新方面取得了显著进展。为了加强科研项目的管理和检查,河南科研项目检查工作应运而生。本文将介绍河南科研项目检查的主要特点、主要内容和意义。 一…

    科研百科 2025年2月9日
    0
  • 系统集成项目管理更新

    系统集成项目管理更新 随着科技的不断进步,人们对于信息技术的需求也越来越高。系统集成项目管理作为信息技术的重要组成部分,也在不断更新和发展。本文将探讨系统集成项目管理的最新趋势和发…

    科研百科 2025年1月7日
    0
  • 科研项目合同书保密

    科研项目合同书保密 科研项目合同书是科研项目合作中的重要文件,记录了各方在项目合作中的重要信息和承诺。保密是合同书中的一项重要条款,旨在保护各方在项目中的信息不被泄露,确保项目的成…

    科研百科 2025年2月3日
    0