Visual Studio 2019調試 安卓和IOS開發的app
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmL0UmMkFWYiVDZ2MzY3UWY4AzM2QTN3YWNhRGO1gTOjR2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpeg)
上圖為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到移動端開發,可以說是一枝獨秀。值得初學者明白和學習,開發者在真實的工作中多了一個強有力的移動平台開發語言和工具!