Android 開源專案「真」實戰啟航:瀏覽器 App EinkBro 開發者帶你逐步從 UI 設計、UX 提升到多功能實現秘技全解析(iThome鐵人賽系列書)【軟精裝】
高茂原 (Daniel Kao)
買這商品的人也買了...
-
$400$312 -
$500$390 -
$780$616 -
$520$406 -
$1,000$900 -
$580$458 -
$600$510 -
$420$332 -
$690$538 -
$650$507 -
$720$569 -
$390$308 -
$600$468 -
$600$474 -
$504Flutter 小白開發 — 跨平臺客戶端應用開發學習路線
-
$720$360 -
$1,200$948 -
$680$510 -
$820$648 -
$760$570 -
$690$345 -
$980$764 -
$720$562 -
$600$468 -
$820$648
相關主題
商品描述
使你的Android開發功力再上一層樓
- 【內容簡介】
本書內容改編自第 14 屆 iThome 鐵人賽 Mobile Development 組佳作系列文章《從開發瀏覽器 APP 學習 Android 實戰技巧,並搭上 Jetpack Compose 的列車》與第 13 屆 iThome 鐵人賽Mobile Development 組佳作系列文章《如何開發適合電子書閱讀器使用的瀏覽器 Android APP》。
一本書包含了兩屆 iThome 鐵人賽得獎作品的精華,前後連貫,讓讀者能更深入地了解 EinkBro App 的演進過程。雖然 EinkBro 是作者業餘開發的作品,但是從 2023 年起,它開始被內建於台灣主流的電子書品牌的閱讀器中,這無疑是一種莫大的肯定。
不同於以往的 Android 教學書籍,本書以實際 App 專案的開發先後順序介紹各種不同主題和功能的實作,讓讀者能夠隨著專案的演進,感受到它一步步改善的過程,並從中學習到各種開發的技巧。
書中大部分內容的主題是圍繞在電子書閱讀器帶來的限制和特性上,在講解功能開發的緣由和發想時,還會解釋其背後的思考邏輯;讓讀者不但能夠學習到實作的細節,還可以讓促使未來在開發功能時的思惟能更加全面。
【目標讀者】
→已經熟悉基本的 Android 開發方式,想要再進一步學習更多的實作技巧。
→想要更了解 WebView 開發細節的開發者。
→好奇開源專案是怎麼樣不斷演進和發布的讀者。
→同樣是電子書閱讀器的愛好者,想了解 EinkBro 開發背後的秘辛的使用者。
作者簡介
- 高茂原 (Daniel Kao)
從事 Mobile App 開發已有多年的經驗。對於利用科技打造符合自己需求的工具有濃厚的興趣,也很樂意將這些成果與其他有同樣需求的使用者共享。曾經開發過有百萬下載量的 AutoScreenOnOff App,也上架過一款專門用來練習書法的書法加 App,受到亞洲許多使用者的喜愛。EinkBro App 則是近期比較投入開發的作品。隨著功能愈來愈豐富,過程中一篇篇用來記錄開發心得的文章,也催生了這本書。開發之餘,平常喜歡學習外國語言。在 Github 帳號上也實作了許多為學習外語而開發的程式。對於外語學習和程式開發同樣有興趣的讀者,歡迎跟我多多交流。
iThome鐵人賽獲獎
2021 Mobile Development 組佳作:
如何開發適合電子書閱讀器使用的瀏覽器 Android APP
2022 Mobile Development 組佳作:
從開發瀏覽器 APP 學習 Android 實戰技巧,並搭上 Jetpack Compose 的列車
目錄大綱
- Chapter 0 WebView 開發入門
0.1 架構
Chapter 1 總論
1.1 EinkBro App 簡介
1.2 EinkBro 功能演進
1.3 各章節簡介及閱讀方式
Chapter 2 選擇起跑點與訂定開發原則
2.1 如何選擇好的起跑點
2.2 訂定自己的開發原則
Chapter 3 使用者介面初步改善
3.1 提高圖案對比度
3.2 調整對話框
Chapter 4 改造瀏覽網頁的方式——靜態翻頁
4.1 以翻頁的方式瀏覽網頁
4.2 利用音量鍵翻頁
4.3 點擊畫面翻頁
Chapter 5 調整網頁字型
5.1 字型大小
5.2 字體粗細
5.3 更換雲端字型
Chapter 6 支援閱讀模式
6.1 何謂閱讀模式
6.2 初次嘗試
6.3 改試另一種效果比較好的實作
Chapter 7 直排閱讀
7.1 牛刀小試
7.2 閱讀模式 + 直排
Chapter 8 儲存網頁為 epub 檔案
8.1 引入函式庫
8.2 取得網頁內容
8.3 電子書名及章節名稱
8.4 如何實作儲存圖片
Chapter 9 翻譯功能
9.1 核心實作
9.2 取得網頁全文
9.3 整合 Google Translate 網頁
9.4 網頁內容分頁
9.5 雙視窗可拖拉調整大小元件
9.6 翻譯結果與主畫面同步捲動
Chapter 10 深色主題模式
10.1 顏色設定調整
10.2 夜間模式設定
10.3 WebView 的夜間模式支援
Chapter 11 支援多 Activity
Chapter 12 上架 App 到 F-Droid 平台
12.1 什麼是 F-Droid
12.2 發佈 EinkBro 到 F-Droid 的理由
12.3 如何進行
Chapter 13 導入 Koin
13.1 什麼是 Koin
13.2 為什麼要導入 Koin
13.3 導入方法
Chapter 14 同時顯示雙網頁
14.1 需求來源
14.2 開發方式
Chapter 15 自訂字型
15.1 從系統中選擇字型檔案
15.2 注入 CSS Font 資訊到 WebView 中
15.3 攔截 WebRequest 以傳回字型資訊
Chapter 16 支援 epub 檔案的閱讀
16.1 分析網路上實作閱讀 epub 檔案的範例
16.2 重構參考來的程式碼
Chapter 17 整合 Github Actions
17.1 利用 Github Actions 編譯 release 版本
17.2 更方便的下載 Github Action 編譯好的 binary
Chapter 18 導入 Jetpack Compose
18.1 導入 Jetpack Compose 的一些想法
18.2 Compose 快速切換設定的對話框
18.3 Compose 功能選單
18.4 Compose 設定畫面的第一層
18.5 Compose 自製的AutoCompleteTextView
18.6 改寫工具列前
18.7 改寫工具列
18.8 改寫工具列後
18.9 改寫 PreferenceUI
Chapter 19 遠端編譯程式碼
19.1 何謂 mainframer
19.2 mainframer 的概念
19.3 舊的 Intel Mac 設定
19.4 遠端機器(M1 Mac mini) 的設定
19.5 執行方式
Chapter 20 多指觸控手勢功能
20.1 多點觸控手勢偵測
20.2 縮放畫面時防止誤觸
Chapter 21 淘汰onActivityResult
21.1 註冊 ActivityResult
21.2 呼叫步驟 1 中已經建立好的 ActivityResultLauncher
Chapter 22 防止追蹤碼
22.1 找到所需資料
22.2 呼叫時機
22.3 Firefox 的實作
22.4 Brave 的實作
Chapter 23 SharedPreferences 的再包裝
23.1 善用 Delegate
23.2 改善 Toggle 的功能
Chapter 24 改善文字選取的功能選單
24.1 自製功能清單
24.2 改善選取不準確的情況
Chapter 25 整合 ChatGPT
25.1 使用外部函式庫進行初步整合
25.2 支援 stream 的回覆型式