上图为C#同一份源码在红米note1S上运行安卓app,和iphone13模拟器运行ios版app。
写在最前:
本文将以最简单明了阐述C#一份源码同时开发出ios和android的app,让普通读者和初学者都一看就懂
1、在VS中项目解决方案结构:
图1:解决方案有三个项目组成1)在VisualStudio中使用移动应用(Xamarin.Forms)创建本项目,会获得上图中的解决方案结构。
三个项目,它们是:
StockDiffEanrs,源码项目,所有的C#源码,和UI设计在这里面开发
StockDiffEarns.Android,安卓项目
StockDiffEarns.IOS,ios项目
重点在这里,不需要同时编写安卓项目和ios项目的源代码,只需要在第一个源码项目中完成,即一份c#代码同时完成安卓和iosapp开发。
2)展开三个项目看看各自的文件
图2:展开三个项目对应的文件不要被图2的文件给吓退,本次开发中并不会使用它们,所以无需了解只作展示
2、展开第一个项目开发UI,如下图
图3:开发UI界面的源码1)新建Views文件夹,
2)在该文件夹下,添加新项,选择内容页,取名“CalcT.xaml”
3)在CalcT.xaml中编写代码如上图,该部分代码就是app的UI部分
至此安卓app和iosapp的UI界面就同时完成了!
3、编写C#代码完成实际功能
图4:C#代码实现功能该app只有一个按钮功能就是计算差价。如上图,点开CalcT.xaml在它对应的CalcT.xaml.cs文件中编写C#代码
代码原理:计算差价,差价是负数,显示金额并以绿色显示,否则红色显示,并保留2数小数。
至此C#代码完成,接下来就是运行调试app
4、运行调试安卓app
图5:调取Android设备管理器图6:创建完成的Android设备1)在打开的Android设备管理器窗口中,可以新建一个安卓仿真器,就是不用连接真实的安卓手机,用仿真器在电脑上调试,完成后直接将app安装包复制进真机中安装使用。让开发调试直接在PC中完成。
2)上述工作完成后,将第二个安卓项目设为启动项目
图7:三个项目中将安卓设备设为启动项3)点击图中按钮,运行调试安卓app。APP将运行在Android设备管理器中我们创建的设备
图8:启动安卓并调试4)接下来,VS会自动编译,并启动安卓(仿真器)设备,显示运行结果:
图9:安卓APP运行效果5、安卓app放到安卓手机中安装运行
1)仿真器运行后在安卓项目文件夹下已生成了apk安装包,那能直接拿去用吗?
答案是可以,但是需要改变VS编译方式从Debug模式改Release模式,再重新编译一次。即开发调试时使用Debug模式生成安装包,拿到安卓真机中改成Release模式生成安装包
图10:更改生成编译模式右击第二个安卓项目,点击属性。显示上图。取消两处勾选,将改为Release模式
2)更改安卓app最低支持的安卓版本
图11:设定APP支持的最低安卓版本为了让我们开发的app支持最低版本的安卓,可以在此处设定。如果选择Android5,则低于该版本的安卓系统的手机则安装不了安装包了。本文选择Android4.3。
图12:Android手机中运行C#开发的app博主要在老手机安卓4.4.4红米note1s的MIUI中运行,所以这里选择了4.3。另外有小米MIX4miui12同样可以运行
6、生成iosapp并运行调试
安卓的C#代码开发的app可直接生成iosapp并调试,但因为苹果公司对于App开发的封闭性,Winddows电脑需要无线连接苹果电脑,同时苹果电脑已经安装相应的XCODE版本,才可以完成后续。
为了实现这个调试,VS需要XCODE12以上苹果电脑进行协同工作,不同的XCODE版本有最低限度支持的macOS版本。所以,本人的苹果电脑macOS版本不支持运行XCODE12,不得不将苹果电脑系统升级为了macOS11.7,这样就能运行XCODE13.1比XCODE12高,可以支持。经过一番折腾让苹果电脑系统和开发环境达到要求。
1)无线连接苹果电脑,右击第三个项目,设置为启动设备,点击VS调试按钮,VS提示远程连接苹果电脑
图13图14无线连接上苹果电脑后,在VS中会自动检测苹果电脑的Mono版本,并检查XamarinSDK版本,如果版本不一致或缺失会自动安装。
最后会检查XCODE版本,这个不一致,则需要我们开发者手动在苹果电脑上安装!~
一切通过后,则弹出苹果ios设备仿真器
图157、生成iosapp在iPhone和ipad中部署
由于苹果开发APP的封闭性,在真机中调试APP比安卓繁琐。真机中部署iosapp需要在苹果电脑XCODE中设置预配,该部分内容会在后续文中进行阐述。截止目前,大家已经见识到C#跨平台开发特性。一份源码同时完成Android和ios的APP。C#不仅能Windows程序的开发,WEB开发,已经演变为同时支持安卓和苹果应用的开发。同时C#作为.NET顶流开发语言强大显而易见,C#使用Xamarin和.NET也被微软作为开源,这些被诟病打压的.NET商业问题也已褪去!
C#和JAVApythonC++都源于国外科技的产物。在国际产业分工下软件行业也是如此。我们中国科技要追赶世界,所以必须站在现有的国际先进技术产物上进行孜孜不倦,创新进步。而不是在争论JAVA好,python流行,C#落后。殊不知开发语言没有强弱之分,只有使用编程语言的人有强弱之分。。。
单选
阅读本文的读者职业是?
IT行业技术岗位工作者行*岗位工作者生产制造业工作者公司中高级管理者销售岗位工作者自由职业打开百度APP进行投票