在前一篇 "Avalonia.MAUI Hybrid 之使用 .NET MAUI Essentials 實作篇 - I" 所完成的基礎下,在此篇就能繼續加入相關的 .NET MAUI Essentials 的使用。
不過,還是要提醒一下,如果未完成 Visual Studio 所提供的 .NET MAUI 開發,並完成 Android 、 iOS 環境所需的建置。
那將無法完成本篇所講的部分測試結果。
在前一篇 "Avalonia.MAUI Hybrid 之使用 .NET MAUI Essentials 實作篇 - I" 所完成的基礎下,在此篇就能繼續加入相關的 .NET MAUI Essentials 的使用。
不過,還是要提醒一下,如果未完成 Visual Studio 所提供的 .NET MAUI 開發,並完成 Android 、 iOS 環境所需的建置。
那將無法完成本篇所講的部分測試結果。
Avalonia.MAUI Hybrid 之使用 .NET MAUI Essentials 介紹篇 提到的相關部分,如果是沒有接觸過 Avalonia UI 跟 .NET MAUI 一段時間的話,感覺要實際使用會有點難。
雖然 Avalonia.MAUI Hybrid 的 Repo: Avalonia.MAUI Hybrid 中有提供 Sample Code,但不知道為啥直接要使用時搞了一陣子都沒辦法成功。
最後只好自己實際來操作一次,透過 Avalonia UI 所提供的 Visual Studio 2022 所建立的專案範本開始建立起。
看看怎一步一步的完成囉~~~
在跨平台開發技術上若單就 UI 層面的跨平台的話,在 .NET 技術上有三套廣為人知的使用 .NET MAUI、Avalonia UI、Uno Platform。其各有千秋,在此就不多談相關比較(若有興趣可參考文後所推薦閱讀連結)。
近期則有比較特別的部分是 Avalonia UI 官方的 GitHub 推出了一個 Repo: Avalonia.MAUI Hybrid
雖然支援有其作業系統上的限制性(目前只支援 iOS、Android 兩套手機作業系統),但仍對 Avalonia UI 來說是一件相當有吸引力的事。
在 .NET MAUI 的專案當中若使用 Onion.Maui.GoogleMaps 這個 Nuget 套件(前身為 Xamarin.Forms.GoogleMaps) 後,在 iOS 平台上就能順利呈現 Google Maps 的效果:
接下來就看看如何在專案中開始使用此 "Onion.Maui.GoogleMaps" 套件囉~~~
若在 .NET MAUI 的應用程式中,使用 "Microsoft.Maui.Controls.Maps" 的 Maps 控制項,在 Android/iOS 上呈現起來大致如下:
某一天收件匣中很突然的收到 Google Play Support 針對上架的 App 發來一封違反 "Google Play 政策規定" 的警告: "隱私權政策無效"。
一時之間還真是二丈金剛,摸不著頭腦…
要使用 .NET MAUI 官方的 Maps 元件的話,需要額外在 .NET MAUI 專案中安裝 Nuget 套件: "Microsoft.Maui.Controls.Maps"。
而誠如上一篇所說,由於在 Android 平台當中 "Microsoft.Maui.Controls.Maps" 會直接使用 Android 預設的地圖服務平台 Google Maps。所以,要開始使用 .NET MAUI 的官方 Maps 元件並執行在 Android 平台之前,請先前往 Google Maps Platform 進行申請。
Google 統一了雲端服務的申請操作,接著就自然而然地會被導向 Google Cloud Console 當中進行:
根據前一篇的說明,針對目標套件 API 31 的規範問題,若沒有調整 App 所使用的目標套件 SDK 就無法上架。
若有使用 Xamarin(.Forms) 技術開發 Android App 的話,該如何修正這個問題以利符合 Google Play 的目標 API 規範呢?
文章標題,來翻譯翻譯後的意思就是:
請按照 Google Play 要求 "準則" 上傳 Android 的 .apk or .aab,否則就不能上架。
那為什麼要這樣規定呢? Google Play 官方給出了這樣的解釋:
指定使用最新 API 級別也有助於讓應用程式充分發揮平台的最新功能,讓使用者用得更加愉快…(?
上述解釋可參見下列網址:
https://developer.android.com/google/play/requirements/target-sdk?hl=zh-tw#why-target
.NET 6 去年 11/8 正式發佈至今已經屆滿半年,而在今年的 Build 大會上也正式發佈 .NET MAUI (a.k.a. 下一代的 Xamarin.Forms,原 Xamarin.Forms 會持續維持在 5.x.x)。
而正常來說 GA 後的技術都會加到 Visual Studio 的 "Release Channel" 當中,但稍微弔詭的地方是 .NET MAUI 仍是被放在 "Preview Channel" 的 Visual Studio 當中。
所以…
要使用 .NET MAUI 的話,必須安裝 Visual Studio 2022 Preview 的版本來使用。
如果按照標題的概念來看,其實網卡的 DNS 設定錯誤,仍然是可以上網的…
所有的連線都要轉成 ip 位址的方式。
不會有人去記住要使用的網站 ip 吧!
好,就算記住了,Android 系統的相關連線服務也還是靠 DNS 才能正確連線使用阿…所以還是來知道一下怎麼處理吧!
在 .NET 5 已經推出一段時日的今天,.NET 6 已經正式邁入 preview2 (正在撰寫本文的時候官方 release preview 3 了😂)階段。
隨著距離 .NET 6 正式版推出的時間越來越近,有越來越多捧友關心 Xamarin.Forms 在 .NET 6 中會如何改變。而如果使用 Xamarin.Forms 開發的觀念有正確的話,目前到 preview 3 的釋出結果來看,其實來說沒有太多的改變。
真要說最大的改變就是改名 MAUI 的全新感受吧! 所以就讓我們來一探究竟囉…
在 App 當中設定 Icon 圖示其實挺繁瑣且困擾的,而在 Xamarin.Forms 4.6 之後可以透過字型檔來設定這些 Icon 圖示,就讓我們來看看如何完成吧!
還不知道 Scrcpy 這工具的朋友可參考 "透過 Scrcpy 連結 Android 實體設備展示畫面與操控" 來了解一番!
而每次連接都要打指令就顯的有點麻煩,這時候透過 Visual Studio 的外部工具設定,再自行設定按起來覺得方便的快捷鍵,那使用起來在效率上就會更加便捷。
好了,本篇很短,應該可以馬上跟著做完。
開始囉~~~
如果有參考過本宅先前發表的兩篇文章:
接下來就是在 Google Play Console 做相關的上傳 .apk or .abb 的動作,即可將辛苦完成的 Android App 準備在 Google Play Store 當中上架囉~~~
如果有看先前發表如何將 Xamarin.Android App 發佈到 Google Play Console 文章:
原文出處:
https://devblogs.microsoft.com/xamarin/android-app-bundle/
Android App Bundle (.aab) 是一種能包含所有編譯程式碼與資源檔的 Android App 發佈格式,且不同於過去使用 apk 的發佈到 Google Play 的 app 上傳格式。Google Play 設計了一種稱之為 "Dynamic Delivery" 的新式服務模式,這可以讓使用者在下載 App 的時候只針對自己使用的裝置所需要的資源來下載,也就是說可以下載執行應用程式所需的必要項目即可。
原文出處:
https://montemagno.com/setting-android-status-bar-background-icon-colors
在過去的幾個月中,我嘗試在 Hanselman.Forms app 中找出處理 亮色/深色 模式 theme 的處理方式。在好友 Kym Phillpotts 的協助下,我們終於能在 Xamarin.Forms 使用並能動態調整所有的狀態列處理。下面的結果就是應用程式允許使用者在使用 App 的時候可以自行選擇 theme 或是系統預設值。
AppCenter 除了很多好處之外,更是一個讓 App 在佈版上更為方便的平台。若是在開發團隊能導入使用的話,就能讓開發好的 App 在要佈署給測試人員時能更加的便捷。
本篇就來看看 AppCenter 在開發端這邊針對 Android 的環境設定,要如何做最基本的自動建置與更版,快速地讓測試人員取得新版本的測試 App 吧~~~