iT邦幫忙

android相關文章
共有 1186 則文章
鐵人賽 Mobile Development DAY 30

技術 電子書閱讀器上的瀏覽器 [Day30] 導入 Koin

原本今天最後一篇,只想做個總結,放放相關連結而已。不過剛好昨天心血來潮幫 EinkBro APP 導入了 Koin 的支援,今天就順手也記錄一下,讓大家當做參考...

鐵人賽 Mobile Development DAY 29

技術 電子書閱讀器上的瀏覽器 [Day29] 網頁載入性能改善

原以為一個不到 3MB (扣除擋廣告的資料檔)的 Andrid App,既沒有任何的 tracking 機制,也沒有從網路抓任何非網頁內容的資料回來,理論上網頁...

鐵人賽 Mobile Development DAY 12

技術 D12/ 我要怎麼用動畫改變中的資料? - Animations

今天大概會聊到的範圍 Animation 上一次有聊到,我們可以透過 Gesture 和 State 來與 user 互動。例如下面這個例子: @Co...

鐵人賽 AI & Data DAY 26
觀賞魚辨識的YOLO全餐 系列 第 26

技術 Day 26 - HBuilderX 與 Native.js API 讀取圖片

Day 26 - HBuilderX 與 Native.js API 讀取圖片 在 Day 25 - HBuilder X 產生 apk 已經完成使用 HBui...

鐵人賽 Mobile Development DAY 11

技術 110/11 - 把照片儲存在Pictures/應用程式名稱資料夾 - 1

不太可能每個專案都那麼爽,可以把相片儲存在內部儲存空間/Android/data/packageName/files/,所以還是要練習把檔案儲存在內部儲存空間/...

鐵人賽 Mobile Development DAY 11

技術 Data layer testing (2)

今天會繼續寫 EtaResponseMapperTest。我們示範的 test case 是正常輸出班次的情景。首先是準備 response: val resp...

鐵人賽 Mobile Development DAY 11

技術 D11/ 要怎麼顯示動態資料的畫面 - State

今天大概會聊到的範圍 State Gesture Modifier 在之前,都只是在介紹比較靜態的畫面。但今天如果想要和使用者互動時,該如何處理呢?...

鐵人賽 Mobile Development DAY 21

技術 Parser Generator (三)

上篇提到了 parser generator 在產生程式碼的時候,可以用四個步驟去拆解裡面的資訊並產生程式碼,我們現在來看一下範例吧! 進入範例之前,我們也複...

鐵人賽 Mobile Development DAY 20

技術 專案檔案結構

第二階段也接近到尾聲了,現在便利貼已經有了比較豐富的功能了,可以拖曳便利貼、改變顏色、改變文字、新增以及刪除。那麼檔案的結構又會是什麼樣子呢? 這邊的分類方式是...

鐵人賽 Mobile Development DAY 20

技術 Parser Generator (二)

上一篇我們講解怎麼產生目標 parser 的 parse 方法,這篇來講解 generator 的內部結構,這會用到上篇提到的 getParseFuncSpec...

鐵人賽 Mobile Development DAY 10

技術 110/10 - Intent.ACTION_MEDIA_SCANNER_SCAN_FILE棄用

新增相片後,要發送通知給相簿應用程式,這樣才能更新照片清單,這樣才能在相簿看到新增加的照片,使用者體驗才會好。 以前我們會用Intent.ACTION_MEDI...

鐵人賽 Mobile Development DAY 9

技術 110/09 - 把照片儲存在Android/data/packageName/files/

今天來實作使用ActivityResultContracts.TakePicture()開啟相機,拍照後把照片儲存在Android/data/packageNa...

鐵人賽 Mobile Development DAY 10

技術 D10/ 我要怎麼把文字變美美的 - Text & AnnotatedString

今天大概會聊到的範圍 AnnotatedString Text 在 Compose 中顯示文字時,我們可以使用 Text 這個 Composable。...

鐵人賽 Mobile Development DAY 19

技術 Jetpack Compose navigation + Koin

現在我們有了編輯便利貼頁面還有編輯文字頁面,該是時候好好的來思考要怎麼切換頁面了!流程如下:使用者選擇了某一個便利貼→看到選單出現→點擊編輯文字→跳轉到編輯文字...

鐵人賽 Mobile Development DAY 19

技術 Parser Generator (一)

KotlinParserGenerator 我們先從 kotlin 的 parser 講起,這邊會順便帶到一些 KotlinPoet 的進階用法。我們目標是讀取...

鐵人賽 Mobile Development DAY 9

技術 Date & time

上一篇在實作 EtaResponseMapper 的時候我們用了 Java 8 開始有的 Instant、LocalDateTime 和 ZonedDateTi...

鐵人賽 Mobile Development DAY 8

技術 110/08 - 檔案要存那裡?

以前在寫應用程式的時候因為不懂、方便、隨性等各種原因,所以就在根目錄建立資料夾,把照片影片都往裡面丟,然後應用程式解除安裝後檔案還是存活在手機中。 Google...

鐵人賽 Mobile Development DAY 28

技術 電子書閱讀器上的瀏覽器 [Day28] 上架到 F-Droid

為什麼要介紹上架到 F-Droid 而不是 Google Play Store 呢?關於上架到 Google Play Store 的教學已經多到不用我再多寫...

鐵人賽 Mobile Development DAY 27

技術 電子書閱讀器上的瀏覽器 [Day27] 無痕模式

原先的 browser 實作就已經包含了無痕模式的細部功能,像是禁止使用 Cookie,和不記錄瀏覽歷史;但是卻沒有一個快速開關能夠進到一般瀏覽器支援的無痕模式...

鐵人賽 Mobile Development DAY 26

技術 電子書閱讀器上的瀏覽器 [Day26] 保持畫面不會自動關閉

今天的內容很短,因為實作還蠻容易的。 瀏覽網頁時,有些時候是在看影片。這時,如果沒有特別設定要系統保持清醒的話,常常會看到一半就因為系統睡眠時間到了,就把畫面關...

鐵人賽 Mobile Development DAY 25

技術 電子書閱讀器上的瀏覽器 [Day25] 支援多 Activity

雖然 browser 已經可以支援多個分頁瀏覽了(全在同一個 Activity 中做切換),但有些時候還是需要有另一個裝載 WebView 的 Activity...

鐵人賽 Mobile Development DAY 9

技術 D09 / 為什麼我的按鈕這麼長? - Intrinsic measurements

今天大概會聊到的範圍 Intrinsic measurements 今天的標題可能會讓人有點疑惑,但這是我寫出這段 Code 時的第一反應。 Colu...

鐵人賽 Mobile Development DAY 8

技術 Data layer implementation (2)

上一篇的 repository 還欠一個 mapper 把 EtaResponse 轉成 EtaResult。我們首先準備一個通用的 interface: in...

鐵人賽 Mobile Development DAY 18

技術 Jetpack Compose - Stateful and Stateless

相較於傳統的 Android View,Jetpack Compose 在 Android 開發上還有一個新的概念,那就是 Stateful (有狀態的) 還有...

鐵人賽 Mobile Development DAY 18

技術 Logger 與 Extension Generator for Kotlin

Logger 在 compile time 的時候,不像我們一般再開發的時候很容易的去 log 一些我們要的資訊,這邊我們必須要透過 processor 提供的...

鐵人賽 Mobile Development DAY 8

技術 D08 / 怎麼做自己的 Modifier.padding? - Custom Layout Modifier

今天大概會聊到的範圍 layout modifier 上一次討論到 Modifier 時,覺得自己其實對物件如何繪製到畫面上其實一知半解。今天打算繼續...

鐵人賽 Mobile Development DAY 7

技術 110/07 - 建立自己的 ResultContracts

前面講完官方的14種Contracts,但我們也能建立屬於自己的Contracts,以下範例是實作一個跟ActivityResultContracts.Star...

鐵人賽 Mobile Development DAY 17

技術 ViewModel 的 Single source of truth

以往我們所熟悉的 Single source of truth 都是在針對資料層,概念上基本上這樣的:我們 App 的資料來源通常來說都有兩個,一個是網路,另一...

鐵人賽 Mobile Development DAY 17

技術 各種 Code Generator 的功能

上一篇我們有提到用 KAPT 參數去呼叫 純 Kotlin 和 Android 的 code generator ,這篇要延續這個主題,繼續來講一下會怎麼樣去呼...

鐵人賽 Mobile Development DAY 7

技術 Data layer implementation (1)

在上一篇,我們把 Ktor client 加到 Dagger 的 object graph 內。現在我們就繼續寫 data layer 部分。 跨 layer...