Android 開源專案「真」實戰啟航:瀏覽器 App EinkBro 開發者帶你逐步從 UI 設計、UX 提升到多功能實現秘技全解析(iThome鐵人賽系列書)【軟精裝】 (1版)
類似書籍推薦給您
內容簡介
完整解說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 的回覆型式
立即查看
會動的演算法:61 個演算法動畫+全圖解逐步拆解,人工智慧、資料分析必備 (1版)
類似書籍推薦給您
內容簡介
★★★用手機掃描書中 QR Code 立即觀看演算法動畫!★★★
⦿ 一圖一步驟,帶你打開演算法的黑箱!
⦿ 全彩超圖解,將抽象的演算法視覺化!
⦿ 內容淺顯易懂,沒有長篇難懂的理論!
「演算法」給人的第一印象就是好難學、理論好多,即使讀完千字文還是看不懂!o(〒﹏〒)o
沒錯!小編非常有同感,第一次接觸演算法時,就被「時間複雜度」弄得暈頭轉向,我一點也不想知道這些數學式是怎麼推導的啊,只要知道哪個演算法比較快、比較好用就可以了!還有,常遇到同一個詞有不同說法,在 Google 搜尋時就會搞不清楚是不是指同一件事,例如 Binary Tree Traversal,就有「二元樹追蹤、二元樹訪問、二元樹走訪、二元樹遍歷……」,這麼多種稱呼,實在讓人困惑!所以本書的專有名詞除了標示中文外,也會加上英文,以便讀者查詢更多資訊。
透過本書一圖一步驟地拆解演算法背後的原理,我終於弄懂演算法的運作了,其實演算法沒有想像中那樣神秘、可怕,而是有規則可循的。看懂其運作原理後,由衷佩服這些設計演算法的人,原來他們是這樣思考與拆解問題的啊,我怎麼都沒想到呢!
本書收錄許多知名的演算法與資料結構,其中有些演算法已經被主流的程式語言編寫成方便使用的「函式庫」。不過「函式庫」是一種將工作原理藏在內部的「黑箱」,因此大多數人在使用時不見得對演算法有充分的理解。想要寫出執行效能佳的程式,得確實理解演算法的工作原理才行。
本書介紹的資料結構與演算法
✪陣列的查詢:
互換元素/尋找最大值/互換排序/合計/最小元素值/最小元素位置/線性搜尋法/二元搜尋法
✪排序:
反轉/插入/合併/分割/氣泡排序法/選擇排序法/插入排序法/合併排序法/快速排序法/堆積排序法/計數排序法/希爾排序法
✪與整數相關的演算法:
埃拉托斯特尼篩法/輾轉相除法
✪資料結構:
堆疊/佇列/雙向鏈結串列/雜湊表
✪陣列的計算:
累積和/一維累積和的應用/二維累積和的應用
✪堆積:
Up Heap/Down Heap/建立堆積/優先佇列
✪二元樹的走訪:
前序走訪/後序走訪/中序走訪/層序走訪
✪其他:
廣度優先搜尋/卡恩演算法/深度優先搜尋/Tarjan 演算法/Union By Rank/Union-Find Tree/普林演算法/克魯斯克爾演算法/戴克斯特拉演算法/貝爾曼 - 福特演算法/弗洛伊德演算法/包裹法/葛立恆掃描法/安德魯演算法/線段樹:RMQ/線段樹:RSQ/二元搜尋樹/旋轉/樹堆……
目錄
Part 1 準備篇
第 1 章 程式設計的基本元素
第 2 章 程式設計的應用元素
第 3 章 演算法的基礎概念
Part 2 空間結構
第 4 章 空間結構的概要
第 5 章 陣列
第 6 章 樹狀結構
第 7 章 圖形
第 8 章 點群
第 9 章 動態結構
Part 3 演算法與資料結構
第 10 章 入門
第 11 章 陣列基本查詢
第 12 章 搜尋
第 13 章 陣列元素排序
第 14 章 必學的排序法
第 15 章 與整數相關的演算法
第 16 章 基本資料結構 1
第 17 章 陣列的計算
第 18 章 堆積
第 19 章 二元樹的走訪
第 20 章 高效率的排序法
第 21 章 基本資料結構 2
第 22 章 廣度優先搜尋
第 23 章 深度優先搜尋
第 24 章 Union-Find Tree
第 25 章 尋找最小生成樹的演算法
第 26 章 最短路徑演算法
第 27 章 計算幾何
第 28 章 線段樹
第 29 章 搜尋樹
立即查看
瞬間肯定自我的冥想術:從身體到心靈,逐步實踐真正的休息
類似書籍推薦給您
立即查看
與泛自閉症兒童一起成長-給家庭的逐步學習手冊 (1版)
類似書籍推薦給您
與泛自閉症兒童一起成長:給家庭的逐步學習手冊
ISBN13:9789861914077
出版社:心理
作者:STEPHANIE B. LOCKSHIN;JENNIFER M. GILLS;RAYMOND G. ROMANCZY
譯者:劉學融
裝訂/頁數:平裝/304頁
規格:23cm*17cm (高/寬)
版次:1
出版日:2011/01/01
中國圖書分類:神經系統疾病;精神醫學
內容簡介
如果家有泛自閉症(ASD)孩子,你知道此類障礙會為家庭帶來許多壓力,而擬定一份完善的計畫正是減輕這些沉重壓力的關鍵。在《與泛自閉症兒童一起成長——給家庭的逐步學習手冊》一書中,作者採用「家庭本位」的療育模式,將泛自閉症孩子的需求置於家庭的整體需求中考量,同時平衡孩子和其他家人的需求,藉著檢核表和實用的練習表格,逐步引導家庭步入正常的生活軌道。你將可在本書中學到如何評估孩子的需求,並為孩子擬定一份能與家庭的資源、目標和優先考量事項相容的個別化照顧計畫。
本書作者藉由清楚、逐步導引的活動、評量和建議,協助你促進家人間的溝通、找到家庭的需求、運用應用行為分析(ABA)的技巧教導孩子新技能、增進孩子的自我控制能力和獨立性、鼓勵孩子參與家庭活動、尋求支持、獲得專家的協助,進而提升全家人的福祉。
目錄
緒論
什麼是泛自閉症障礙?何時會被診斷出來?
CHAPTER 1泛自閉症障礙是全家人的事
為什麼泛自閉症障礙如此棘手?
CHAPTER 2面對壓力
面對指的是處理,而非消除所有的問題
CHAPTER 3促進家人之間的溝通
團隊合作
執行作戰計畫的工具
CHAPTER 4找出家庭的需求
泛自閉症障礙的症狀如何影響你滿足家庭和孩子的需求?
滿足家庭的需求
CHAPTER 5如何教導孩子學習新技能
如何決定教學內容
如何善用孩子的優勢能力
如何化難為易:聚沙成塔
如何擬定教學計畫:從哪一步開始?
如何營造合適的教學環境
如何建立教學互動並讓孩子保有學習動機
如何提供線索(提示)來協助孩子學習
如何教導孩子在對的時間和地點展現特定行為
CHAPTER 6獲得你所需的協助
發揮可用資源的最大效益
資源與孩子間的適配性:如何使資源發揮效益?
善用至親做為資源
善用其他照顧者做為資源
善用社區活動做為資源
CHAPTER 7教導對家庭友善的技能
順從
等待
尊重界限
在公共場所能待在成人身邊
有利於達到一致且成功的教學之建議
CHAPTER 8提升溝通技能的策略
如何藉由教導溝通技能來改善家庭互動
在開始之前
對於溝通技能的基本認識
評估孩子的語言能力並決定要教什麼
語言教學的基本策略:如何教學
綜述
CHAPTER 9提升自我控制能力的策略
家庭常面臨的問題
問題行為對孩子來說可能具有功能性價值
增加適當的技能以減少不當的行為
CHAPTER 10讓孩子更為獨立的策略
這些問題對家庭的需求產生什麼影響
再次思考你如何使用自己的時間
找出能讓孩子學習獨立的技能
如何教導孩子技能以使他們更為獨立
CHAPTER 11提升孩子的參與度
如何提升孩子的參與度
CHAPTER 12平衡孩子和家庭的需求
選擇的本質
做出困難的抉擇
評估你的選擇:成本與效益
接受你做的決定及其限制
採取的觀點
CHAPTER 13察覺問題並尋求協助
請求協助
監控你的「應力計」,不要只是忽略它
列出所有的問題
泛自閉症障礙特有的一些問題
尋求適當的協助管道
CHAPTER 14評估成果
不同類型的改變
評估孩子的學習成果
評估家庭目標的成果
立即查看
Oracle VM的逆襲:逐步打造企業虛擬化環境應用
類似書籍推薦給您
立即查看