iT邦幫忙

kotlin讀書會相關文章
共有 64 則文章
鐵人賽 Software Development DAY 4
Coroutine 停看聽 系列 第 4

技術 Day4:Coroutine 的四大特點

在前一篇文章中,我們完成了一個 Coroutine 的程式,並且在最後我們發現了兩個特點: 用 Coroutine 完成的程式碼可以讓非同步程式碼以同步的程式...

鐵人賽 Software Development DAY 10

技術 第十天:Kotlin Collection 之 Map

前面介紹的 Collection 類別裡,像 Array 或 List 都是以索引(index)做為取得元素的關鍵。但以數字為基礎的 index 雖然方便電腦做...

鐵人賽 Software Development DAY 7

技術 第七天:Kotlin Collection 之 Array

當我們在整理東西的時候,通常會拿有格子的容器,把同類型的東西一格一格的放好,方便我們儲存、排列或抽換。Collection(集合)就是程式語言裡的這種有格子的容...

鐵人賽 Software Development DAY 8

技術 第八天:Kotlin Collection 之 List

Array 概念簡單,效能也很好,不過也因為它的限制比較多,所以除非真的有效能考量,不然一般會考慮使用其他的 Collection 物件,享受更豐富的功能。在這...

鐵人賽 Software Development DAY 3

技術 第三天:安裝/管理多個版本的 JDK

軟體開發與時俱進、推陳出新, 為了確保自己寫好的程式有更好的相容性,常會安裝多個版本的 JDK 來測試。雖然 IntelliJ IDEA 可以很方便的下載、管理...

鐵人賽 Software Development DAY 6

技術 第六天:Kotlin 基礎語法

在深入 Kotlin Collection 之前,我們需要先對 Kotlin 語法有基本的認識。因此在這篇文章裡,要先迅速讓大家學會 Kotlin 的基礎語法。...

鐵人賽 Software Development DAY 5

技術 第五天:建立版本管理

在學習一個新的程式語言時,尤其是跟著範例寫的時候,由於對語法還不熟悉,時常會不小心把程式改壞。若是寫程式的時候,也可以有類似時光還原的功能,那該有多好?很幸運的...

鐵人賽 Software Development DAY 1

技術 第一天:什麼是 Kotlin Collection?

Kotlin 是一個在 2011 年由 JetBrains 發表的全新程式語言,不過直到 Google Android 團隊在 2017 年宣佈其成為官方優先支...

鐵人賽 Software Development DAY 2

技術 第二天:建置開發環境

每當學習一個新的程式語言時,首要任務就是學會建置開發環境。而不論哪一個程式語言,要建置開發環境大都包含兩個必要元素: SDK(Software develop...

鐵人賽 Software Development DAY 1
Coroutine 停看聽 系列 第 1

技術 Day 1:同步與非同步執行

Hi 各位好,又到了我們一年一度的 iT邦鐵人賽的挑戰,這次我所挑戰的主題是 Kotlin 中用來處理非同步的 lib Coroutine,中文名稱「協程」,是...

鐵人賽 Software Development DAY 7
Coroutine 停看聽 系列 第 7

技術 Day7:CoroutineScope:launch() 以及 async()

在前一篇文章我們知道 suspend 函式必須要在 Coroutine scope 裏面才能執行,本篇文章我們來了解一下兩個 Coroutine Builder...

鐵人賽 Software Development DAY 9

技術 第九天:Kotlin Collection 之 Set

上一章有提到,List 比 Array 更有彈性。與 Array 不同的是,List 可以明確地選擇是不可變的 List 或是可改的 MutableList。不...

鐵人賽 Software Development DAY 25
Coroutine 停看聽 系列 第 25

技術 Day 25:[Android] 將 LiveData 用 Flow 替代吧

LiveData 是 Android 中一個很有用的項目,它是一種可觀察(Observe)的資料存儲器類(data holder)。它會感知 Android 的...

鐵人賽 Software Development DAY 3
Coroutine 停看聽 系列 第 3

技術 Day3:第一個 Coroutine 程式

在上一篇文章中,我們知道如果我們要以非同步的方式來執行,可以使用 Thread + callback 來寫,不過使用 Callback 可能會發生兩個問題,一是...

鐵人賽 Software Development DAY 4

技術 第四天:我的第一個 Kotlin 程式

在所有的程式語言教學裡,通常第一個範例就是在 Terminal 印出「Hello, world」字樣。這個經典範例有 3 個訓練重點:了解如何建立程式、如何執行...

鐵人賽 Software Development DAY 5
Coroutine 停看聽 系列 第 5

技術 Day5:深入認識 Coroutine

這幾天我們把 Coroutine 神秘的面紗好像掀開了一點,知道他是用來解決非同步程式的問題,也我們知道四個 Coroutine 的特點。Coroutine 的...

鐵人賽 Software Development DAY 11
Coroutine 停看聽 系列 第 11

技術 Day11:調度器(Dispatchers),我跳進來了,又跳出去了

Coroutine 一個重要的特性就是可以輕易的切換執行緒,不過 Coroutine 是使用 CoroutineDispatcher (調度器) 來切換執行緒,...

鐵人賽 Software Development DAY 11

技術 第十一天:Collection 操作之取值

在前面幾章的內容,我們都著重在 Kotlin Collection 各別的特點、宣告語法以及呼叫 Collection 的屬性及方法。接下來要開始深入了解 Co...

鐵人賽 Software Development DAY 15

技術 第十五天:Collection 操作之排序

在處理資料時,順序有時是重要的。比方說,我們想要將 Collection 裡的數字從小到大來排,或是想將 Collection 裡的名字從 a 到 z 排。在比...

鐵人賽 Software Development DAY 10
Coroutine 停看聽 系列 第 10

技術 Day10:例外處理,留下來或我跟你走

程式在執行的時候,有些時候我們會遇到一些例外的情況,我們一般會使用 try-catch 來攔截程式執行所拋出的例外,用 try-catch 攔截到之後,我們就可...

鐵人賽 Software Development DAY 12

技術 第十二天:Collection 操作之修改

上一章我們討論的都是如何「讀取」 Collection 裡的元素,不過更多時候我們需要「修改」Collection 裡的內容,也就是如何新增元素到 Collec...

鐵人賽 Software Development DAY 30

技術 [Day30] 使用KorGE的開發心得

這次三十天的用KorGE開發自己的Kotlin小遊戲終於進到最終篇章囉! 相信各位對KorGE有一些些的認識,已經可以試著用這套遊戲引擎來開發你的小遊戲。 Ko...

鐵人賽 Software Development DAY 19

技術 第十九天:Collection 操作之迴圈

在操作 Collection 時,很常需要把 Collection 裡的元素逐一取出,比方說把 List 裡的元素一個一個印出。寫過其他程式語言的朋友或許會很直...

鐵人賽 Software Development DAY 8
Coroutine 停看聽 系列 第 8

技術 Day8:結構化併發 (Structured Concurrency)

還記得我們第一個 Coroutine 程式嗎? suspend fun showContents() = coroutineScope { launch...

鐵人賽 Software Development DAY 24
Coroutine 停看聽 系列 第 24

技術 Day24:Hot flow - State Flow (part II)

前一篇文章中,我們介紹了 State Flow 以及它的使用方式,本篇將繼續討論 State Flow。 我們知道 SharedFlow 有提供一個函式能夠讓一...

鐵人賽 Software Development DAY 23
Coroutine 停看聽 系列 第 23

技術 Day23:Hot Flow - StateFlow

State Flow 是從 Shared Flow 繼承而來的,跟 Shared Flow 不同的地方在於它是有初始值的,至少會重播一個值給訂閱者,所以它最少會...

鐵人賽 Software Development DAY 6
Coroutine 停看聽 系列 第 6

技術 Day6:三大要素

好的好的,經過了前幾篇文章之後,想必大家應該對 Coroutine 有一些了解了吧,我在這邊快速複習一下。 Coroutine 是用來解決非同步程式的執行問題,...

鐵人賽 Software Development DAY 27

技術 第二十七天:深入 Collection 核心 - Lambda

在前面一系列的 Collection 操作章節裡,你會發現只要能客製化操作行為的 method,都是透過讓你傳入一個 Lambda 的方式達成。到底什麼是 La...

鐵人賽 Software Development DAY 22
Coroutine 停看聽 系列 第 22

技術 Day22:Hot Flow - SharedFlow (Part II)

昨天我們使用了 shareIn 將 Flow 轉成 SharedFlow, 我們來研究一下這個函式。 public fun <T> Flow<...

鐵人賽 Software Development DAY 13

技術 第十三天:Collection 操作之截取

在前面的章節裡有提到如何從 Collection 裡取值,不過在該章節裡我們討論的都是如何取「單一」值,但實務上常常要取的是多個值或是一段範圍的值,這時就要使用...