百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

C# 比JAVA弱吗?用C#一份源码同时生成安卓和iOS APP

yund56 2025-03-02 19:33 6 浏览


上图为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项目

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



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

1) 新建Views文件夹,

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

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

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

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

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

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



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

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



写在最后:

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


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


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

相关推荐

重生之我在头条学html网页编程,这一世我一定学好,成为编程高手

有人要问了html是什么东西?就是用来设计网页的一种语言会不会很难啊?这是很多朋友担心的,我告诉大家这是最简单最基础也最容易学习的一款入门级语言,当初我也是经常因为学不会C语言而苦恼自从学习了html...

如何在网页3D CAD中创建一个三维管道模型

前言在网页CAD中进行三维建模是一项有趣的任务。本文将介绍如何利用mxcad3d来创建三维管道模型。该工具提供了一系列三维建模功能的API,使得建立复杂的管道结构变得简单直观。安装在此之前,需要先安装...

网页模版如何用

网页模版已成为如今网站建设的核心工具。随着互联网需求的增长,越来越多的企业和组织需要建立自己的网站,以展示他们的品牌和服务。在这个过程中,网页模版为他们提供了一种简单而高效的方式来构建网站。所谓网页模...

AI嵌入式Flowcode编程网页开发人员入门指南

WebDeveloper允许使用FlowcodeIDE环境开发具有交互性的网页。可以在2D面板中添加特殊网页组件,以创建网页的视觉表示,并可以使用流程图添加交互功能。它的引入意味着Flowcod...

用Deepseek制作网页版的汉诺塔游戏保姆级教程

在deepseek中输入:“帮我做一个网页版的汉诺塔演示游戏,游戏包含2层、3层、4层、5层的汉诺塔游戏演示,制作自动求解演示按钮,点击按钮就可以生成出步数,同时自动演示最优解动画。”最后把生成的程序...

TaskBuilder前端页面CSS样式规则设置

在前端页面设计器内,点击底部的“CSS样式”选项卡,可以打开CSS样式设计器,在此查看和设计当前页面的CSS样式规则,如下图所示:3.3.6.1引入外部样式文件如果要在页面中引入外部CSS文件,可以点...

使用 Python、FastHTML 和 Uvicorn 构建简单的博客网站

FastHTML是2024年7月推出的PythonWeb框架,是一个简单但功能强大的框架,允许开发人员使用纯Python构建Web应用程序。(不需要复杂的模板引擎)。Fast...

用AI可以生成HTML网页了,很多初级前端都要失业了

即使你完全不懂html,javascript,css,也能做出漂亮的网页,这在以前是不可想象的,而现在确是可行的,因为有这样一个项目:openUI。openUI不仅仅能生成html页面,还能生成自适应...

python原始套接字socket下载http网页文件到txt

python原始套接字socket下载http网页文件到txtimportsocketdefdownload_webpage(url,output_file):try:...

高效排版:实现DeepSeek生成内容Word格式排版并导...

高效排版:实现DeepSeek生成内容Word格式排版并导出的经典方法,步骤简洁高效:DeepSeek生成内容复制出来容易出现乱码,下面介绍一种比较高效简单的方法!一、核心三步法1.调整模型模式在D...

打工人福音!3分钟教你学会word精美排版

昨天大熊介绍了word一键排版的三种办法,今天我们来详细讲讲第二种办法,用html代码实现一键排版,然后再导出pdf实现精美效果。打工人,打工魂,你是不是也有以下烦恼?下面是我经过多次和Deepsee...

使用 HTML 创建可折叠的交互式组件,一行 JS 代...

如果你想创建一个可折叠的交互式组件,使用<details>元素即可,一行JavaScript也不用写。<details>组件定义了一个可折叠的容器,它的第一个元素必须...

新手小白1分钟学会Word——文档的编辑1.1

天空一声巨响,迷人的我闪亮登场,亲爱的家人们,周末好呀!话不多说,咱们继续开干!昨天说到本节还有个小尾巴,那咱们就把这个小尾巴了结了,然后开始新篇章~四、保存文档我们对文档编辑完之后最重要的一步就...

超强!DeepSeek+HTML制作数据看板,老板看了都点赞

DeepSeek以极强的推理能力,支持生成各种代码,比如Python、SQL、Matlab、JS、HTML等,你可以拿这些代码放到编译器里,就能直接跑出结果,比如机器学习算法、exe应用、可视化图表、...

什么是Tailwind CSS

什么是TailwindCSSTailwindCSS是一个实用优先(Utility-First)的CSS框架,其核心思想是通过直接在HTML中组合预定义的类名来快速构建界面样式,无需编写传...