iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Mobile Development

如何使用 Kotlin Annotation Processor 做出自己的 Custom Data Parser Library 系列

在這個系列文章裡,我將會分享我自己做 Custom Data Parser Library 的心路歷程、實作技術與其應用,內容預計將會包含:
1. 使用 kotlin 實作 data parser
2. Annotation processor 與其應用
3. KAPT 介紹與實作細節
4. KSP 介紹與實作細節
5. 如何建立自己的 library 並發佈給其他人使用
6. 如何測試 library 的程式碼

鐵人鍊成 | 共 30 篇文章 | 11 人訂閱 訂閱系列文 RSS系列文 團隊Kotlin 愛台灣 2021
DAY 1

前言

為什麼會想研究 Annotation Processor ? 在去年的時候,好像 podcast 特別的夯,就想跟一群朋友玩玩看 podcast 的資料,看能不...

2021-09-06 ‧ 由 oumuamua 分享
DAY 2

XML Parsers

在講 annotation processor 的實作之前,我們要先了解一般的處理方式,通常是寫 XML parser 去處理這些 RSS 的 tag ,這跟我...

2021-09-07 ‧ 由 oumuamua 分享
DAY 3

使用 DOM Parser 取值

這篇會講解怎麼樣用 DOM 的 parser 把 RSS 資訊拿出來,首先我們可以先 new 一個 DocumentBuilder val builder =...

2021-09-08 ‧ 由 oumuamua 分享
DAY 4

使用 DOM Parser 取屬性

講完了怎麼取 tag 的值,我們來取 tag 夾帶的屬性。假設我們拿到了下面的 RSS 內容: <channel> <categ...

2021-09-09 ‧ 由 oumuamua 分享
DAY 5

Android XML Parser

上篇我們講解了如何使用 Kotlin 來寫 XML parser ,我們也有提到 DOM parser 有個缺點就是有可能會消耗較多的記憶體,這點在 mobil...

2021-09-10 ‧ 由 oumuamua 分享
DAY 6

使用 XmlPullParser (一)

上篇我們介紹了 XmlPullParser 和常用的幾個 event type ,現在我們來介紹它的實作。首先我們要拿到 parser 的實體才能夠操作 tag...

2021-09-11 ‧ 由 oumuamua 分享
DAY 7

使用 XmlPullParser (二)

上篇我們講了 parser 的基本使用方式和一些前置的 function 實作,像是 parseChannel 和 skip ,接下來我們就要來講其他實用的取...

2021-09-12 ‧ 由 oumuamua 分享
DAY 8

使用 XmlPullParser (三)

我們現在有了許多的基礎的 parser function 了,我們直接來看怎麼樣組合這些 function 來 parse 一些東西吧!以 library 裡面...

2021-09-13 ‧ 由 oumuamua 分享
DAY 9

Annotation 介紹

Annotation 很常寫 Java 或是 Kotlin 的朋友對 annotation 大概不陌生,它其實就是在程式碼裡面做標記,而這個標記做什麼或者背後隱...

2021-09-14 ‧ 由 oumuamua 分享
DAY 10

Annotation 處理時機

處理 Annotation 的時機 一般來說,annotation 可以在 compile time 或是 runtime 的時候做處理。 Compile t...

2021-09-15 ‧ 由 oumuamua 分享