今天大概會聊到的範圍 basic layout arrangement & alignment 在 Compose 之中,我們有三個可以乘載其...
運作方式 經過前面這麼漫長的鋪陳,我們終於要來講 annotation processor 了! 這張圖是 library 的 annotation proc...
Annotation 要怎麼定義會影響使用這個 library 的使用者體驗,annotation 必須要好理解而且還要具有可擴充性。我們的目標是要方便使用者獲...
我跟男友開發這個聊天軟體三年,剛剛回去算我們截至今天為止,總共在 firebase 上做了 168 次 A/B Testing。只有41次有 Clear imp...
Architecture Components 以前 Android Developers 網站沒有特別提及過寫 Android app 應該用甚麼 archi...
講到硬體就會用到權限控制,然後一定會用onActivityResult和startActivityForResult結果上面這兩個在最新的版本已經被標記棄用 讓...
今天我們要來完成 splash畫面,也就是啟動時App會跳出短暫的畫面。 變更AppIcon的圖示 自定義字型 1.登入畫面製作 一、首先我們創立一個空的...
首先來看看如何取用 Firebase SDK 的服務: val firestore = FirebaseFirestore.getInstance() 要取用...
今天大概會聊到的範圍 @Preview annotation 及相關用法 原先的 xml 的 layout 系統,已經被 Android developm...
Hi 我是 Tomaz. 第一次參加鐵人賽,和各位鐵人一起進行磨練,希望撐得過去 ? 認真學 Compose 是最近對自己的一個期許,但為什麼是最近呢? 其...
接下來就可以利用上面的 meta-annotation 去定義我們的屬性。 @Target(AnnotationTarget.CLASS, Annotation...
還記得便利貼專案做到哪了嗎?專案目前用的架構模式是 MVVM :Jetpack Compose 所做成的 View, BoardViewModel 還有 InM...
處理 Annotation 的時機 一般來說,annotation 可以在 compile time 或是 runtime 的時候做處理。 Compile t...
屯馬開通真的很興奮 早陣子(2021 年 6 月 27 日)港鐵屯馬綫全綫通車,當日有電視台訪問了一名鐵路迷,他受訪時調寄家傳戶曉的英國民謠《綠䄂子》即興唱了一...
除了方便好用的 operator 之外,RxJava 還有一個非常重要的機制:非同步處理。 RxJava 的非同步處理機制可以讓我們很輕鬆的切換不同的執行緒,但...
Annotation 很常寫 Java 或是 Kotlin 的朋友對 annotation 大概不陌生,它其實就是在程式碼裡面做標記,而這個標記做什麼或者背後隱...
書籤功能在電腦瀏覽器是個很重要的功能,因為操作方便,所以通常會記錄一大堆連結,並且分門別類放在不同的目錄中。但是手機上的瀏覽器,情況略有不同。大部分人比較常用的...
在前一篇提到,可以利用 epublib 將網頁內容儲存成 epub 檔案,便於事後用其他的閱讀軟體中操作。不過,前一篇還只能將網頁中的文字部分儲存下來。今天要來...
為電子書閱讀器而開發的瀏覽器 APP,在繞了一大圈之後,終於又繞回了電子書本身。原本的實作就已經可以將網頁輸出成 pdf 檔案。不過,如果希望產生的檔案可以更有...
我們現在有了許多的基礎的 parser function 了,我們直接來看怎麼樣組合這些 function 來 parse 一些東西吧!以 library 裡面...
在 Jetpack Compose 的官方文件中,拖曳手勢操作是這樣子使用的: Box(modifier = Modifier.fillMaxSize()) {...
這功能對於瀏覽器來說,應該是個沒人(或很少人)想過會存在的功能。 從十幾二十年前開始有瀏覽器以來,瀏覽器就一直是以橫讀為主。而中文閱讀習慣,也漸漸地變成橫式閱讀...
隨著開發的功能愈來愈多,工具列的空間已不足以將所有的功能都顯示在上面;而且也不是每個功能都是使用者會常用的功能。為了要解決這個問題,我打算改造工具列,讓使用者可...
相信各位也看了 N 個介紹 MVVM 的文章了吧,不知道你們有沒有覺得大家所描述的 MVVM 是不是有點不太一樣呢?或是套用在你的專案後,實作中所遇到的問題跟網...
上篇我們講了 parser 的基本使用方式和一些前置的 function 實作,像是 parseChannel 和 skip ,接下來我們就要來講其他實用的取...
上篇我們介紹了 XmlPullParser 和常用的幾個 event type ,現在我們來介紹它的實作。首先我們要拿到 parser 的實體才能夠操作 tag...
上篇我們講解了如何使用 Kotlin 來寫 XML parser ,我們也有提到 DOM parser 有個缺點就是有可能會消耗較多的記憶體,這點在 mobil...
目前的 E-ink 設備,6吋,7.8吋,一直到 10 吋,13 吋都有,除了6 吋有點太小,其他尺寸都還蠻適合用來瀏覽 PC 版網頁;所以,讓 browser...
講完了怎麼取 tag 的值,我們來取 tag 夾帶的屬性。假設我們拿到了下面的 RSS 內容: <channel> <categ...
這一篇的技術成份稍微高一點點。要談到的功能,從一開始開發瀏覽器就有想要做,但是一直找不到比較好的實作方式。在經過兩三週忙於其他的功能開發後,終於在這週找到比較恰...