定價: 720
售價: 612
庫存: 已售完
LINE US! 詢問這本書 團購優惠、書籍資訊 等
此書籍已售完,調書籍需2-5工作日。建議與有庫存書籍分開下單

付款方式: 超商取貨付款
信用卡
線上轉帳
物流方式: 超商取貨
宅配
門市自取

詳細資訊

內容簡介 完整解說EinkBro兩年多來的開發過程 使你的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 開發背後的秘辛的使用者。 目錄 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 的回覆型式