Homepage
Open in app
Sign in
Get started
EinkBro
Follow
我的出書之路
我的出書之路
這篇文章會說明我即將出版的書 “Android 開源專案「真」實戰啟航:瀏覽器 App EinkBro 開發者帶你逐步從 UI 設計、UX 提升到多功能實現秘技全解析” 的漫長出書過程。
Daniel Kao
Sep 10, 2023
升級 EinkBro 的廣告阻擋機制
升級 EinkBro 的廣告阻擋機制
新版的 EinkBro 在經過一番努力後,即將支援 EasyList 格式的廣告清單,除了阻擋一般廣告外,還可以隱藏其區塊,甚至是去除一些常見的 tracking 機制。
Daniel Kao
Nov 6
改善 EinkBro 的工具列設定畫面
改善 EinkBro 的工具列設定畫面
為了要可以塞入更多的功能按鈕,而又同時可以輕鬆的設定工具列,我改寫了工具列設定畫面。
Daniel Kao
Nov 6
整合 Edge TTS 文字轉語音
整合 Edge TTS 文字轉語音
這篇文章會整理這一個月來整合 Edge TTS 功能到 EinkBro 中的過程。經過一連串的開發後,總算是把自己想要的功能都開發出來了。
Daniel Kao
Sep 28
EinkBro 的更新小記: v11.16.0 & v11.17.0
EinkBro 的更新小記: v11.16.0 & v11.17.0
果然,沒有良好的測試偶爾就是會出大包。還好,不用寫 outage report,只要趕快再推出新版,有人來問時,就說新版已經解決了。
Daniel Kao
Sep 16
EinkBro App 被 Google Play Store suspend
EinkBro App 被 Google Play Store suspend
沒想到在 2024 年初竟然迎來了這樣子的結果,真的是始料未及。下面會來說說被 suspend 的原委,希望讓剛好看到這篇文章的讀者能夠有所警惕,不要踩到 Google 大大的雷。
Daniel Kao
Jan 23
從 EinkBro App 中直接安裝升級版本
從 EinkBro App 中直接安裝升級版本
本篇說明怎麼實作從 EinkBro App 中直接下載 apk zip 檔案並進行升級,省去許多 unzip 和切換 App 操作的麻煩事。
Daniel Kao
Dec 19, 2023
Kotlin Coroutine Channel 的使用簡介
Kotlin Coroutine Channel 的使用簡介
這篇文章會分享 EinkBro 在整合 OpenAI tts API 時,藉由 Kotlin Coroutine Channel 處理 API 邏輯和播放的實作。
Daniel Kao
Dec 10, 2023
調整 Jetpack Compose Dialog 的外觀
調整 Jetpack Compose Dialog 的外觀
這篇文章將說明怎麼實作 Jetpack Compose Dialog,讓它的外圈能夠沒有暗掉的效果,而且對話框周圍能有黑色的框線。
Daniel Kao
Sep 20, 2023
開發 Koreader Plugin
開發 Koreader Plugin
Koreader 是個跨設備的閱讀 App,提供強大的閱讀功能以及相當多的客製化彈性。除了內建的許多功能外,它也提供開發者可以透過撰寫 lua script,擴充新功能或是修改原先的行為。這篇文章將會說明怎麼開發一個簡單的 koreader…
Daniel Kao
Jul 23, 2023
在 EinkBro 中支援 Youtube 影片的雙語字幕
在 EinkBro 中支援 Youtube 影片的雙語字幕
這篇文章將講解怎麼在 EinkBro 中利用攔截 http request,將 Youtube 影片在呈現字幕時,能夠順便顯示第二種外語字幕。
Daniel Kao
Jun 30, 2023
整合 ChatGPT stream型式的 API 結果
這篇文章將說明在已經整合好 ChatGPT 後,怎麼將 API 改成支援 stream 型式連續回傳部分結果,讓使用者可以更快地得到回應。
Daniel Kao
Jun 30, 2023
整合 ChatGPT 到 EinkBro 中
整合 ChatGPT 到 EinkBro 中
找到合適的 OpenAI 函式庫
Daniel Kao
May 5, 2023
在 EinkBro 瀏覽器中整合 Pocket 的 API
在 EinkBro 瀏覽器中整合 Pocket 的 API
利用 ChatGPT 給出基本的認證流程
Daniel Kao
May 5, 2023
使用 Jetpack Compose 時如何得知 List 中的元件的屬性有了變化,進而自動更新 Composable
使用 Jetpack Compose 時如何得知 List 中的元件的屬性有了變化,進而自動更新 Composable
被發了一條網頁分頁 favicon 更新不同步的 issue。雖然我自己也常常遇到,但因為無傷大雅,而且一直沒找到對的時機點修正,所以一直沒有理它。
Daniel Kao
Mar 22, 2023
EinkBro 分頁列表的小改進
EinkBro 分頁列表的小改進
從 v9.7.0 開始,EinkBro 支援在畫面上固定顯示分頁的列表。如果開啟這功能的話,整個介面看起來會更像是傳統的瀏覽器;能夠在不同分頁間快速切換。很適合在一般的電子書閱讀器上開啟。
Daniel Kao
Mar 14, 2023
如何解決 CloudFlare 認證問題 (暴力版)
如何解決 CloudFlare 認證問題 (暴力版)
最近 chatGPT 相當熱門,不論有什麼問題需要網路的協助,總是可以先找 chatGPT 聊聊,看看它有什麼想法。不過,在使用 EinkBro 想要登入 chat.openai.com 時,它會跳出下面的畫面要我先檢驗我是…
Daniel Kao
Feb 26, 2023
將 Android Preference UI 改寫成 Jetpack Compose UI
將 Android Preference UI 改寫成 Jetpack Compose UI
Android 原本內建的 Preference UI 還算方便,只要利用 xml 定義好想要的 SharedPreference 項目並指定好相關的標題、描述、key 值,預設值,Android 就可以幫忙建立對應的畫面。
Daniel Kao
Feb 26, 2023
Android SharedPreferences 的實作改善技巧
Android SharedPreferences 的實作改善技巧
在今年 iTHome 鐵人賽最後一天的文章中有介紹到,怎麼將 Boolean 的 SharedPreferences 包裝起來,讓原本很煩瑣的 value getter setter 可以透過 delegate 的方式,一行搞定。下面是包裝前和包裝後的程式碼。
Daniel Kao
Dec 24, 2022
Google Play Store: 您的裝置與這個版本不相容
Google Play Store: 您的裝置與這個版本不相容
這也是老毛病了。三不五時會有使用者反應,雖然在 Google Play Store 中可以找到 EinkBro,但想要下載時,畫面上卻顯示 “您的裝置與這個版本不相容”。由於之前我也沒認真去研究為什麼會發生,所以通常解決方式都是:請使用者上 Github 網站,直接下載 apk…
Daniel Kao
Nov 5, 2022
解了一個萬年 EinkBro 臭蟲:savedInstanceState 的雷
解了一個萬年 EinkBro 臭蟲:savedInstanceState 的雷
最近下載 EinkBro 的使用者多了一點。早期不太去理它的臭蟲,也因此發生得愈來愈頻繁。今天終於花了點時間找出原因,並且解決了它。
Daniel Kao
Nov 2, 2022
Differences between onPause() and pauseTimers()for Android WebView
Differences between onPause() and pauseTimers()for Android WebView
A long opened issue for EinkBro states that after creating new background tab, it’s not possible to continue certain behaviors normally…
Daniel Kao
Oct 30, 2022
濾掉網址中的追蹤碼
濾掉網址中的追蹤碼
前一陣子看到新版 Firefox 102 版開始,可以讓使用者決定是不是要把網址中的一些 query parameters 過濾掉,常見的像是 facebook 的 id 追蹤 fbclid,還有 Google 的 ga_*, gclid 等;還有在追蹤活動時很常用的…
Daniel Kao
Aug 30, 2022
Android 裡從另一個 Activity 中取得資訊的方式
Android 裡從另一個 Activity 中取得資訊的方式
從 startActivityForResult 和 onActivityResult 到 registerForActivityResult 的距離。
Daniel Kao
Jul 16, 2022
Go Compose, No Compromise
Go Compose, No Compromise
Android 的 Jetpack Compose 也推出好一段時間了,從前一兩年的 beta 版,再到去年的正式版,網路上的相關教學文章也愈來愈多,相關的函式庫也愈來愈成熟。是時候可以跳進這個坑了。
Daniel Kao
Jun 21, 2022
利用 Github Actions 建立 Android 專案的 release apk
利用 Github Actions 建立 Android 專案的 release apk
網路上已經有很多教學在講怎麼利用 Github Actions 建立 CI 流程,在 push commits 或是發出 pull requests 後,啟動相關的 action flow 執行 unit test 和產生 debug apk。
Daniel Kao
Jun 5, 2022
About EinkBro
Latest Stories
Archive
About Medium
Terms
Privacy
Teams