一個什麼都不專精的學生 Mikucat 被學校難用的 APP 氣死,因而開始學習 Android 開發。他將會在這個伴隨著看文件與踩坑的新學期(開發者生命歷程)中,用程式改變自己的校園生活。
這個系列比較像是開發日誌,紀錄我開發一個 Android APP 用到的各種工具、函式庫、知識與方法,並分享其中踩到的坑與心得。
會想寫這篇主要是因為學校開發的行動 APP 不太好用,而且 APP 本身功能很少,大部分都是跳轉至外部瀏覽器或內嵌網頁的功能,反應速度也很慢。俗話說的好:「長江...
因為是個人專案,加上第一次採用 Compose UI 等等新函式庫不太熟悉,先開發出最小可行性產品 (MVP),讓 APP 可以在短時間達成較多功能,也比較好推...
畢竟目前開發者只有我自己,還要邊寫鐵人賽邊開發,需要好好思考優先順序與時程,才能順利一步步把 APP 做出來。 第零階段:分析 屬於開發生命週期的「分析」,中規...
因為有不少要實作的功能是基於行動逢甲既有的功能,但這些 API 並沒有公開,更不會有使用說明,所以需要觀察行動逢甲 APP 的網路行為來獲取相關資訊。 使用 B...
經過前面的繁雜設定後,終於觀察到 APP 送了什麼請求、收了什麼回應,但是沒有使用說明可以遵循,所以要黑箱測試這些 API,了解它的限制或是回傳的格式等等,In...
觀察到 APP 功能的網路行為也挖掘出 API 的用途、參數與回應格式,但有些參數無法得知其含意,所以除了分析網路也需要分析 APP 本身。 拆開 APK 發現...
程式語言基礎教學在網路上很多,這裡只提一些我在學習 Kotlin 時遇到一些其他語言比較不常見的用法 Lambda 預設單變數名稱 Kotlin 對於只有一個參...
雖然理論上可以用程式碼編輯器甚至文字編輯器開發,但那實在太辛苦了,所以 Google 基於 JetBrains Intellij IDEA 打造出 Androi...
Gradle 主要分為三大功能:函式庫管理、Task 與 Plugin 函式庫管理 開發過程中除了撰寫程式碼以外常常會引入函式庫,但手動下載實在是很沒效率,,所...
程式碼除了建置後要能正確運行以外,還得考慮後續維護性,如果當初寫得太難懂,後續發生 bug 或弱點要修補時會因為難以閱讀程式碼導致排查困難 子曰:「工欲善其事,...