有些時候需要看外文網頁,而外文裡可能有許多單字,或是看外文的速度沒有那麼快,閱讀起來會很辛苦。這時如果能夠跟 Chrome 一樣提供全文翻譯的話,對於使用體驗上...
今天大概會聊到的範圍 Constraint Layout in Compose 上一篇提到,有 Row / Column 和 Box,配合各種 ali...
運作方式 經過前面這麼漫長的鋪陳,我們終於要來講 annotation processor 了! 這張圖是 library 的 annotation proc...
夜間模式在電子書閱讀器上通常效果不會很好,黑色的底色會造成很多殘影。不過,因為我也會在一般手機上使用這個 browser ,所以能夠支援夜間模式的話,也可以讓一...
我們用到的 API endpoint 只有一個,就是用來取得港鐵機場快綫、東涌綫、屯馬綫及將軍澳綫最多四班即將到站列車的抵達時間。車站清單我們會直接寫死在 ap...
廣告的季節性 去年日本第一次開始封城時,剛好遇到三四月之間。日本公司的會計年度很多是四月開始,三月結束。所以三月就是大家砸錢把廣告預算花完的時候。相反地,四月開...
今天大概會聊到的範圍 basic layout arrangement & alignment 在 Compose 之中,我們有三個可以乘載其...
前一天講到合約(Contracts)和啟動器(Launcher)取代StartActivityForResult,官方也幫我們建立了14種常見的合約模板,以下是...
今天我們要來完成 splash畫面,也就是啟動時App會跳出短暫的畫面。 變更AppIcon的圖示 自定義字型 1.登入畫面製作 一、首先我們創立一個空的...
Annotation 要怎麼定義會影響使用這個 library 的使用者體驗,annotation 必須要好理解而且還要具有可擴充性。我們的目標是要方便使用者獲...
書籤功能在電腦瀏覽器是個很重要的功能,因為操作方便,所以通常會記錄一大堆連結,並且分門別類放在不同的目錄中。但是手機上的瀏覽器,情況略有不同。大部分人比較常用的...
Architecture Components 以前 Android Developers 網站沒有特別提及過寫 Android app 應該用甚麼 archi...
我跟男友開發這個聊天軟體三年,剛剛回去算我們截至今天為止,總共在 firebase 上做了 168 次 A/B Testing。只有41次有 Clear imp...
講到硬體就會用到權限控制,然後一定會用onActivityResult和startActivityForResult結果上面這兩個在最新的版本已經被標記棄用 讓...
今天大概會聊到的範圍 @Preview annotation 及相關用法 原先的 xml 的 layout 系統,已經被 Android developm...
首先來看看如何取用 Firebase SDK 的服務: val firestore = FirebaseFirestore.getInstance() 要取用...
接下來就可以利用上面的 meta-annotation 去定義我們的屬性。 @Target(AnnotationTarget.CLASS, Annotation...
屯馬開通真的很興奮 早陣子(2021 年 6 月 27 日)港鐵屯馬綫全綫通車,當日有電視台訪問了一名鐵路迷,他受訪時調寄家傳戶曉的英國民謠《綠䄂子》即興唱了一...
在前一篇提到,可以利用 epublib 將網頁內容儲存成 epub 檔案,便於事後用其他的閱讀軟體中操作。不過,前一篇還只能將網頁中的文字部分儲存下來。今天要來...
Hi 我是 Tomaz. 第一次參加鐵人賽,和各位鐵人一起進行磨練,希望撐得過去 ? 認真學 Compose 是最近對自己的一個期許,但為什麼是最近呢? 其...
處理 Annotation 的時機 一般來說,annotation 可以在 compile time 或是 runtime 的時候做處理。 Compile t...
還記得便利貼專案做到哪了嗎?專案目前用的架構模式是 MVVM :Jetpack Compose 所做成的 View, BoardViewModel 還有 InM...
為電子書閱讀器而開發的瀏覽器 APP,在繞了一大圈之後,終於又繞回了電子書本身。原本的實作就已經可以將網頁輸出成 pdf 檔案。不過,如果希望產生的檔案可以更有...
除了方便好用的 operator 之外,RxJava 還有一個非常重要的機制:非同步處理。 RxJava 的非同步處理機制可以讓我們很輕鬆的切換不同的執行緒,但...
Annotation 很常寫 Java 或是 Kotlin 的朋友對 annotation 大概不陌生,它其實就是在程式碼裡面做標記,而這個標記做什麼或者背後隱...
這功能對於瀏覽器來說,應該是個沒人(或很少人)想過會存在的功能。 從十幾二十年前開始有瀏覽器以來,瀏覽器就一直是以橫讀為主。而中文閱讀習慣,也漸漸地變成橫式閱讀...
我們現在有了許多的基礎的 parser function 了,我們直接來看怎麼樣組合這些 function 來 parse 一些東西吧!以 library 裡面...
隨著開發的功能愈來愈多,工具列的空間已不足以將所有的功能都顯示在上面;而且也不是每個功能都是使用者會常用的功能。為了要解決這個問題,我打算改造工具列,讓使用者可...
在 Jetpack Compose 的官方文件中,拖曳手勢操作是這樣子使用的: Box(modifier = Modifier.fillMaxSize()) {...
上篇我們講了 parser 的基本使用方式和一些前置的 function 實作,像是 parseChannel 和 skip ,接下來我們就要來講其他實用的取...