其實 F-Droid 上的文件也寫得蠻清楚的了,只是這兩週花了點時間在做這件事,想說還是記錄一下,以後如果打算再發佈其他 App 時,可以再回來參考一下。這篇文章會先提一下什麼是 F-Droid ,跟為什麼我要把 App 發佈到它上頭。接下來才是本文重點的 How-to 內容。

什麼是 F-Droid

白話來說,就是個自由開源軟體的 Google Play Store 。官網上的簡介是這麼寫的:F-Droid 是一個可在 Android 平台上安裝的自由與開源的應用程式目錄,可供妳輕鬆瀏覽,安裝並持續追蹤裝置上應用程式的更新。

Google 已經有推出了 Play Store,為什麼還會冒出 F-Droid 呢?Google Play Store 雖然方便,但要上架 App 必須要符合它訂下的各種規範;而且 Pl …


為電子書閱讀器而開發的瀏覽器,在繞了一大圈之後,終於又繞回了電子書本身。原本的實作就已經可以將網頁輸出成 pdf 檔案。不過,如果希望產生的檔案可以更有彈性地調整字型大小,或是在不同的設備上閱讀,轉成 epub 格式會是更好的選擇。但目前市面上的行動瀏覽器都沒有這樣子的設計,頂多提供輸出成 pdf,mhtml 等格式。

為了在 EinkBro 中加入這功能,當務之急是先找到一個可以在 Android 設備上新增、開啟和編輯 epub 的函式庫。找來找去,似乎選擇也不多,只有 Epublib 是個比較完整的方案。

Epublib 是個純 Java 的函式庫,不過也支援在 Android 系統中使用。雖然它已經很久沒有什麼更新了,但看起來功能應該還算符合我的需求。它並沒有把它的函式庫放在常用的 …


這一篇的技術成份稍微高一點點。要談到的功能,從一開始開發 EinkBro 就有想要做,但是一直找不到比較好的實作方式。在經過兩三週忙於其他的功能開發後,終於在這週找到比較恰當的切入點和相關技術的參考,得以完成心目中大致上的效果。

講了一堆廢話,究竟是什麼功能呢?

閱讀模式和直排模式!

我們先從閱讀模式說起。不知道閱讀模式的人,可以看一下下面的文章介紹。這功能在兩年前由 Apple 先在 Safari 瀏覽器中推出,讓使用者可以更專心地閱讀網頁內容,不被廣告和不必要的元件(標題欄,底部欄,側邊欄位等)干擾。

之後,各家瀏覽器大廠也開始推出了類似的功能。 Brave 瀏覽器在推出他們自家的 SpeedReader 功能時,有順便把市面上主要的實作都拿來做比較,有興趣的人可以下載下面的 pdf 檔來了解一下。主要比較 …


不同尺寸的電子紙設備

不知不覺,這系列已經來到第四篇了。雖然沒有什麼人在看,但畢竟是花了一點時間東拼西湊來的,要整理後記錄下來才是自己的東西。如果還沒有看過前幾篇的話,可以先從下面第一篇看起,因為,這篇是繞著 WebView 中的字體在打轉,跟第一篇的內容有些關聯。

這次的重點是字型。先來說說字型大小。

現在市面上的電子紙設備大大小小各種尺寸都有:從海信出的 A5 手機(5.8吋),A7(6.7吋),Kindle (6吋),到 Onyx 出的 Nova3 (7.8吋),Note3(10吋), Boox Max Lumi(13吋)。每種尺寸都有比較合適的字型大小,如果瀏覽器可以快速地調整字型大小的話,應該是個很方便的功能。

這對 Android WebView 來說,是件很容易的事。在 WebSettings 中可以直接呼叫函式來達成。

webSetting …

A5proCC / A7 / A5

購入海信 A7 大概有兩個月的時間了,也差不多可以來寫一篇心得文,把這陣子的使用感想記錄下來。

購買管道與流程

跟之前的 A5 和 A5proCC 一樣,都是從網路上的京東商城直接下單,京東可以不透過集運就把商品送到台灣。運送時間大約是六到七天。中間要記得安裝 EZWay app 讓它可以順利過海關。

硬體

海信 A7 最大的賣點是 6.7 吋的電子紙螢幕,高達 300 ppi,以及用了顆號稱效能很好後且支援 5G 的晶片。螢幕品質和清晰度真的之前的 A5 好很多;但是那個晶片很糟糕。5G 的支援,對電子紙手機來說,是沒有必要的。由於換了這顆晶片,整體的效能甚至比早半年多推出的 A5 差,而且比之前還要耗電許多,以前可以三四天充一次或更久;A7 通常兩天就得充電一次。重度使用時,一天充一次也不是不可能的。前一陣子迎來官 …


去不了的滑雪場

離 Part II 文章完成竟然快要一年了!我們在 Part III 裡,就來聊聊這一年多了那些新功能吧。如果你是第一次看到這系列文章,歡迎從下面兩篇先讀起。

利用音量鍵來控制翻頁

雖然下方的 bottombar 已經添加了上下按鈕,可以在不捲動畫面的情況下,往下一頁或往上一頁,但是能用來翻頁的方式,永遠不嫌多啊!最近購買的海信電子紙手機 A7 ,有特地把音量鍵做得比較偏於手機的中間,操作起來更像是一般電子書閱讀器翻頁鍵。所以為 EInkBro 瀏覽器加上音量鍵翻頁的功能,就顯得相當實用。

這功能的改動很小,只要在 BrowserActivityonKeyDown 函式裡,處理音量鍵的 key event 就行了。


對於 Android SDK 或 Library 的開發者來說,最近有件大新聞,JFrog 要 sunset 他們家的 JCenter, GoCenter, ChartCenter 服務了。JCenter 是目前大部分 Android 開發者在發佈函式庫時的主要去處。這項服務即將在明年(2022) 2 月中止,而新的版本發布則是可以到這個月底 (2021/03/31)。

為了因應這項改變,原先發布的 library,都要趁著這段過度時間趕快搬到 mavenCentral 去才行。下面會介紹怎麼改成由 mavenCentral 來發布 library。步驟不多,但要注意的細節蠻多的,一不小心就會踩坑。

主要步驟

  1. 建立 sonatype.org 的帳號
  2. 在 Jira 上開張票建立一個新的專案
  3. 證明你有 groupId …

As the CPU power getting stronger and stronger, and screen refresh speed keeps improving for E-Ink devices, more and more people start to use E-Ink devices to browse the internet. It works; however the experience is still not good enough. Existing browsers are not designed for E-Ink devices. There are so many UI elements added for normal Android devices: fancy animations, dimming background when a dialog pops up, etc.

To make a browser suitable for E-Ink devices, two principles should be followed while designing UI interactions:

  • Fewer repaint counts
  • Make repaint area as small as possible

Fewer Repaint Counts

To meet this criteria…


在學習韓文的路上,Naver 字典是公認的好用。但如果在平板或手機上想一邊看電子書或是看網頁,然後一邊使用 Naver 字典的話;不論是網頁版或是 App 版本的 Naver 字典,用起來都很麻煩,得在不同的 App 間不停地切換。來回個幾次之後,就會放棄這麼做。

為了有效解決這個問題,我寫了一個 Android App (naverdict),裡頭包了一個 WebView,負責幫忙去網頁版的 Naver 字典做查詢。它的運作方式如下:

  1. 在電子書 App 裡,從字典清單中選用 naverdict 當成預設的字典
  2. 先將 naverdict 開成 multi-window 的其中一個 App
  3. 使用者在電子書 App 中查詢單字
  4. naverdict 被開啟,並在其 WebView 中的 Naver …

內容

  • 電子紙技術
  • 電子書設備歷史、種類和現況
  • 電子書設備哪裡買
  • 電子書格式
  • 電子書商城
  • 電子書社群
  • 電子書軟體
  • 如何擴充 Calibre

電子紙技術

https://youtu.be/1ob0kiftAwY

特性

  • 如同普通紙一樣,透過環境光照亮
  • 耗電量低
  • 可視角極廣:理論上為 180 度
  • 對比度高

原理

運用施加電場重新排列帶電色素粒子以顯像的技術。

Daniel Kao

Mobile App Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store