iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Mobile Development

從開發瀏覽器 APP 學習 Android 實戰技巧,並搭上 Jetpack Compose 的列車 系列

去年第一次參加鐵人賽,以 "如何開發適合電子書閱讀器使用的瀏覽器 Android APP" 為主題,圍繞著瀏覽器的各種功能實作,講解其中的開發細節。很榮幸地,得到了評審的青睞,拿了佳作。

今年再接再礪,帶著一整年滿滿的實作經驗要來跟大家分享。如果你覺得市面上的各種 Hello world 教學已經無法再滿足你;想要聽聽實際開發會遇到的各種雷,和對於發現問題找尋答案的過程有興趣的話,千萬不要錯過這次的系列文章。希望大家在閱讀的過程中,也能激起自己動手開始實作的欲望。

鐵人鍊成 | 共 31 篇文章 | 8 人訂閱 訂閱系列文 RSS系列文
DAY 10

[Day11] 從開發瀏覽器 APP 學習實戰技巧 -- 簡易的跨設備資訊分享機制 Part III

Part III:為 EinkBro 加入 Sharik 的分享機制 在 EinkBro APP 上的實作。主要可以分成兩部分來說,一個是 UI 的呈現,一個是...

2022-09-24 ‧ 由 Daniel Kao 分享
DAY 11

[Day12] 從開發瀏覽器 APP 學習實戰技巧 -- 取得 WebView 當下點擊連結的文字

在用 WebView 開發瀏覽器時,一個很常見的功能是:長按連結時,會跳出 ContextMenu Dialog,提供針對這個連結的一些功能。大部分的瀏覽器都會...

2022-09-25 ‧ 由 Daniel Kao 分享
DAY 12

[Day13] 從開發瀏覽器 APP 學習實戰技巧 -- 利用 Github Actions 編譯 release apk

網路上已經有很多教學在講怎麼利用 Github Actions 建立 CI 流程,在 push commits 或是發出 pull requests 後,啟動相...

2022-09-26 ‧ 由 Daniel Kao 分享
DAY 13

[Day14] 從開發瀏覽器 APP 學習實戰技巧 -- 讓其他使用者可以下載 Github Action 編譯好的 binary

在 [Day13] 介紹了怎麼樣利用 Github Actions 來編譯目前最新版本的 apk,今天要來講講怎麼讓這個 apk 能夠更容易被下載。 這種大家都...

2022-09-27 ‧ 由 Daniel Kao 分享
DAY 14

[Day15] 從開發瀏覽器 APP 學習實戰技巧 -- 導入 Jetpack Compose 的一些想法

EinkBro 現況分析 目前 EinkBro 真正有需要顯示自己的畫面的地方並不多,畫面上大部分的空間都留給了 WebView。在全螢幕的情況下,更是一點其他...

2022-09-28 ‧ 由 Daniel Kao 分享
DAY 15

[Day16] 從開發瀏覽器 APP 學習實戰技巧 -- Compose 快速切換設定的對話框

快速切換設定的對話框,是用來切換一些常用的功能:像是啟動桌面模式,音量鍵翻頁,開關廣告阻擋、無痕模式、瀏覽記錄等等。 原本有打算直接使用 Jetpack Com...

2022-09-29 ‧ 由 Daniel Kao 分享
DAY 16

[Day17] 從開發瀏覽器 APP 學習實戰技巧 -- Compose 功能選單

完成快速切換設定畫面後,再來處理的是充滿各種功能的選單畫面。 當初在用 xml 撰寫這個畫面時,一直覺得很厭世。每個功能都要先用 LinearLayout 包...

2022-09-30 ‧ 由 Daniel Kao 分享
DAY 17

[Day18] 從開發瀏覽器 APP 學習實戰技巧 -- Compose 設定畫面的第一層

處理完兩個對話框之後,稍微轉換一下心情,來點單純的 UI 調整。目前 EinkBro 的設定介面很 Android,是利用 preference xml 定義每...

2022-10-01 ‧ 由 Daniel Kao 分享
DAY 18

[Day19] 從開發瀏覽器 APP 學習實戰技巧 -- Compose 自製的 AutoCompleteTextView

使用者在EinkBro 中輸入網址時,目前有支援即時去搜尋輸入的文字片段是不是有符合的書籤名稱/網址,或是瀏覽過的標題/網址。這功能是利用原生 Android...

2022-10-02 ‧ 由 Daniel Kao 分享
DAY 19

[Day20] 從開發瀏覽器 APP 學習實戰技巧 -- 改寫工具列 I:改寫前

Compose 在暖完身後,接下來要進入重頭戲,改寫整個工具列的架構。因為內容有點多,所以也是打算分成三次來說明。今天這一篇會先解釋一下目前 legacy co...

2022-10-03 ‧ 由 Daniel Kao 分享