일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Coroutine
- Streaming
- 명심보감
- 소울칼리버6
- jetpack compose
- Firebase
- 벤자민플랭클린
- Flutter
- 코틀린
- 공부집중
- bash
- 좋은글필사하기
- 이모지메모
- 오픈소스
- androidx
- 파이썬
- recyclerview
- DART
- Linux
- kotlin
- 1인개발자
- 이모지
- Android
- 장자명언
- 명언모음
- Freesound
- 공자명언
- FSM
- ASMR
- 넷플릭스
- Today
- Total
목록kotlin (43)
Vintage appMaker의 Tech Blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bIGOT5/btrJFOPTK3A/D5EHehQrW2ZhVKQMJbM8KK/img.png)
reified 를 사용하는 이유는 크게 2가지가 있다. 함수의 리턴값과 변수 파라메터를 제너릭으로 사용하면서 1. 다양한 형의 리턴값을 넘겨주고자 할 때 2. 함수에 넘겨진 제너릭변수의 형을 비교해야 할 때 이다. import java.time.LocalDate // 0. 사용법 // inline fun 함수명: T // 1. // 대입받는 변수의 데이터 형에 따라 // 결과값을 선택가능하다. inline fun getToDay(): T? { val nowDay: LocalDate = LocalDate.now() return when (T::class) { String::class -> "now is : $nowDay" as T Int::class -> nowDay.dayOfMonth as T else ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dxHQDe/btrHdxwF8ru/DfQ2dDwMjJcsokP2NVcHLk/img.png)
GitHub - VintageAppMaker/quick_ktor: ktor quick start ktor quick start. Contribute to VintageAppMaker/quick_ktor development by creating an account on GitHub. github.com quick_ktor 빠르게 ktor로 개발하기 위한 quick start 문서 - 정리 설치 및 환경 기본구조 request 처리 response 처리 직렬화 인증 DB DI session
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b6xxM5/btq7EfqLbZT/bV7NZK5Mnx3bkXdJsAETO1/img.gif)
kotlin에서 확장함수는 많이 사용된다. 특히 귀찮을 정도의 반복적인 코드들을 확장함수로 정해놓으면 간편하게 사용할 수 있다. 다음은 View의 확장함수로 AlphaAnimation을 구현한 함수이다. fun View.showAndHide(time : Long = 1500){ visibility = View.VISIBLE startAnimation( AlphaAnimation(1.0f, 0.0f).apply { duration = time fillAfter = true } ) } 이렇게 정의를 해놓으면 AlphaAnimation을 아래와 같이 어디에서나 간편하게 사용할 수 있다. private fun testAlphaAnimation() { val btnAlphaAni = findViewById(R.i..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dvVD7I/btq44QGwPIq/vBZrzMW3NTgyPy6HOrq14K/img.png)
Coroutine을 취소하려면 Job의 cancel()를 사용한다. Job을 사용하는 방법은 크게 2가지이다. CoroutineScope의 lauch를 실행 후, 결과값으로 Job을 받는방법 Job을 생성한 후, CoroutineScope의 lauch의 파라메터로 넘기는 방법(주로 + 를 이용하여 CoroutineDispatcher와 같이 넘김) import kotlinx.coroutines.* import java.util.concurrent.TimeUnit fun main(args: Array) = runBlocking { // job을 넘겨서 취소 val job = Job() JobTest1(job) delay(1000 * 5) job.cancel() println("job.cancel()") //..