顯示具有 MAUI 標籤的文章。 顯示所有文章
顯示具有 MAUI 標籤的文章。 顯示所有文章

2025年1月5日 星期日

關於C# 的IEnumerable & IEnumerator二三話

會用這個是MAUI的其中一個範例,
目標是對某個資料夾內的*.note.txt作讀取檔名的動作,因為存檔後,要有取檔的動作,而Windows系統的習惯是開類似檔案總管的模式,自行選擇要開啟的檔案。也有些程式會以固定的副檔名作為標的,先讀取後,再列清單給使用者取用,而這個範例就是後者。

但不得不說說,這個語法簡化到令人不易理解的程度。這個先用了類似TList的IEnumerable結構,又使用的C# 專用的=>Lambda運算子,不太容易理解為何這麼寫,就可以達到

 
// Get the folder where the notes are stored.
string appDataPath = FileSystem.AppDataDirectory;

// Use Linq extensions to load the *.notes.txt files.
IEnumerable<note> notes = Directory

      // Select the file names from the directory
      .EnumerateFiles(appDataPath, "*.notes.txt")

      // Each file name is used to create a new Note
      .Select(filename => new Note()
      {
          Filename = filename,
          Text = File.ReadAllText(filename),
          Date = File.GetLastWriteTime(filename)
      })

      // With the final collection of notes, order them by date
      .OrderBy(note => note.Date);

// Add each note into the ObservableCollection
foreach (Note note in notes)
    Notes.Add(note);

想把它改寫成比較容易理解的模式,畢竟還是要讓未來的自己看得懂這段在寫什麼,然後知道如何改成新的需求。

2024年5月5日 星期日

.NET MAUI 名人堂

會記這個是想注意MAUI軟件架構的靈魂人物,但就像是我認識很多名人
(張忠謀、郭台銘、柯文哲...),但他們不認識我如此而已。

像前陣子OpenAI的執行長阿特曼(Sam Altman)被開除後,該公司演了一場戲,
畢竟軟件架構還是人想出來的,而這個主角也不太可能被換,若真的被換那就要留意該軟件的後續發展。

這篇內容著重在MAUI活躍的名人,所以應該會不定時更新

David Ortinau .NET MAUI 首席產品經理

James Montemagno 教學影片中常看到

JamesTsaiTW  .NET MAUI 的 Hands-on Lab 手冊的繁中譯者

Gerald Versluis微軟高級軟體工程師

2024年4月21日 星期日

使用.NET MAUI 開發程式之前,你需要知道的幾件事

 Starting .NET MAUI Development in 2024 - What You Need To Know

這是James Montemagno在2024/01/19所發佈影片

用於推廣MAUI,內容有提到一些免費工具的網站,也有付費的地方

目前看來工具有愈來愈多的趨勢,畢竟像我這般初級的開發者,既然都決心要開始學了,學一套工具程式,就可以在不同平台上執行,這個吸引力的確挺誘人。

學新東西有一些技巧,[筆記]跟[持續練習]。因為腦容量有限,記新的忘舊的,寫出來的程式內容是參考哪一個網站,還得再找一次。像最近想寫一個在圖片上標註的功能,就是沒找到完整的範例,有些網站看過了,又再重點進去看,花費不少時間,卻還沒完成想要的功能。

所以我打算用這個Blog來筆記,當成習慣,也可以複習。

2024年1月13日 星期六

MAUI 作為手機程式架構的起手式

2023年微軟推岀.NET MAUI 的工具,查了一下就是可以寫手機平板的程式架構。除了用模擬器寫程式外,最好奇如何和手機連線除錯。

查了一些說明,目前看來USB連線除錯應該算是比較常見且穩定的模式

設定裝置以進行開發 - .NET MAUI | Microsoft Learn

在硬體裝置上執行應用程式  |  Android Studio  |  Android Developers

Redmi Pad如何打开“开发者选项”和“USB调试”图文教程刷机解锁

因為手邊有紅米平板,所以就以這個設備為標的

設定一個紅米平板的模擬器,被引導至安卓的說明

建立及管理虛擬裝置  |  Android Studio  |  Android Developers

redmi-pad - 硬體規格

MediaTek Helio G99 (紅米平板CPU規格)

MediaTek Helio G99 處理器的詳細規格(armv8a)