0916~0919_開學季語言展

【電子書】Android開源專案「真」實戰啟航:瀏覽器App EinkBro開發者帶你逐步從UI設計、UX提升到多功能實現秘技全解析(iThome鐵人賽系列書)

達洋貓《櫻花樹》一卡通

達洋貓《櫻花樹》一卡通

【開學大作戰】一卡通全面限時9折起

  • 520

活動訊息

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

完整解說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 開發背後的秘辛的使用者。

 

作者

高茂原 (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 的回覆型式

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • ISBN
    • 9786263335998
    • 分級
    • 普通級
    • 頁數
    • 320
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

購買須知:

使用金石堂電子書服務即為同意金石堂電子書服務條款

電子書分為「金石堂(線上閱讀+APP)」及「Readmoo(兌換碼)」兩種:

金石堂 電子書
  • 將儲存於會員中心→電子書服務「我的e書櫃」,點選線上閱讀直接開啟閱讀。
    1. 線上閱讀:
      建議使用Chrome、Microsoft Edge 有較佳的線上瀏覽效果, iOS 14.2 或以上版本,Android 6.0 以上版本,建議裝置有6GB以上的記憶體,至少有 30 MB以上的容量。
    2. 離線閱讀:
      APP下載:iOS Android
      安裝電子書APP後,請依照提示登入「會員中心」→「我的E書櫃」→「電子書APP通行碼/載具管理」,取得通行碼再登入下載您所購買的電子書。完成下載後,點選任一書籍即可開始離線閱讀。
Readmoo 電子書
  • 請至會員中心→電子書服務「我的e書櫃」領取複製『兌換碼』至電子書服務商Readmoo進行兌換。

退換貨須知:

  • 因版權保護,您在金石堂所購買的電子書僅能以金石堂專屬的閱讀軟體開啟閱讀,無法以其他閱讀器或直接下載檔案。
  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等),不受「網購服務需提供七日鑑賞期」的限制。為維護您的權益,建議您先使用「試閱」功能後再付款購買。
※ 本品無額外回饋
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing