Intro

屯马开通真的很兴奋

早阵子(2021 年 6 月 27 日)港铁屯马綫全綫通车,当日有电视台访问了一名铁路迷,他受访时调寄家传户晓的英国民谣《绿䄂子》即兴唱了一句自创歌词「屯马开通真的很兴奋」。那我们就以港铁实时列车抵站时间做例子,示范一些现在 Android 开发流行的东西。

App 会有两页:选择车站页和抵站时间页。选择车站页就是列出某条行车綫的车站,让用户点选查阅该站的列车抵站时间;抵站时间页就是显示某行车綫及车站的列车抵站时间。

https://ithelp.ithome.com.tw/upload/images/20210916/20139666iQ1g16q3US.png

选择用这个 app 做示范是因为我本身就想做这个功能(因为我本身有一个 app 是做这东西),另一个原因是显示抵站时间页不是单纯的直接显示服务器传回的内容,要有一些後期的处理和在用户介面上需要分几个状态显示内容。

在介绍如何做的同时我会顺带补充选用这个做法的原因和一些个人心得,藉此能提供一些官方使用说明没有讲的东西。

大概会包含的组件

  • Architecture Components
  • Data binding
  • RecyclerView
  • Navigation Components
  • Kotlin Coroutines
  • Kotlin Flow
  • Ktor Client
  • Kotlin serialization
  • Dagger Hilt

如果後段时间允许的话,或许会再加上 Compose 相关的内容。

对象

这个文章系列适合对 Kotlin 和 Android 开发有基本认识的人,因为文章不会每样东西都解释,亦不会每个步骤都附有截图。简单来说就是能写到一个简单的 Android app。(本身已经懂得 Activity、Fragment、RecyclerView 这些东西)

如果本身听过上面那堆组件名称但又不太知道实际怎样用的话,这系列或许能帮到你。

GitHub Repository

示范 app 的源码已经放在 GitHub

由於这篇文的读者绝大部分都不是香港人,所以在这里补充一下。「屯马开通真的很兴奋」之所以变成香港网路上的 meme 是因为调寄《绿䄂子》。《绿䄂子幻想曲 (Fantasia on Greensleeves)》是香港中文和英文科公开试聆听考试会听到的间场音乐,所以很多人每次听到这首音乐都有不安情绪。


<<:  虹语岚访仲夏夜-2(专业的小四篇)

>>:  [13th][Day8] docker image

Day 22. Snapshot Testing for Dynamic Component

Dynamic Component Dynamic Component的测试也不困难,但由於会有pr...

DAY29 学习30天的c++

阵列 阵列:使用同一个变数储存一组相同型态的资料,然後以相同的名称,但不同的注标存取中个别的资料。 ...

企业专有资料进行分类的最佳角色- 资料管家(Data Steward)

专有资料和个人资料(或 PII)是资料治理的重要主题。由於个人资料通常对隐私敏感,因此在网络安全上下...

Day4 WordPress 介绍,基础设定与发文

上篇文章我们在 BlueHost 架起了 WordPress 环境,但也许你还不知道什麽是 Word...

[Day18] Flutter - Environment (part2)

前言 Hi, 我是鱼板伯爵今天要教大家如何初始化 Environment,在未来的开发的过程中可以快...