일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- android custom view
- android ktor
- doc2vec
- 시행착오
- DiffUtil.ItemCallback
- ChatGPT
- video caching
- 안드로이드
- map
- Zsh
- list map
- ktor client
- getChangePayload
- android exoplayer
- 스피너
- android
- FastAPI
- kotlin collection
- 독서
- llm
- kotlin list
- exoplayer cache
- ExoPlayer
- Python
- ListAdapter
- ListAdapter DiffUtil
- build with ai
- AWS EC2
- ktor api call
- 유튜브
- Today
- Total
목록TIL - Kotlin (7)
버튼 수집상
다양한 조건을 만족하는 요소들만 남긴 리스트 리턴하기. 물론 한 방에 여러가지 필터 조건을 적용시키기 보다 상황별로 함수를 분리하는 것도 방법이다. 예시1 코틀린 플레이그라운드 링크 import java.util.Calendar import java.util.Date enum class Job { ACCOUNTANT, SALESMAN, MARKETER, DEVELOPER; } data class SimpleObject( val name : String, val isPremium : Boolean = false, val age: Int, val job: Job ) val simpleList = listOf( SimpleObject("John", false, 11, Job.SALESMAN), SimpleOb..
예전에 stackoverflow에 남겼던 질문을 여기 지면에 정리 https://stackoverflow.com/questions/72925716/coroutine-equivalent-of-flowable-mergedelayerror Coroutine equivalent of Flowable.mergeDelayError I'm in the middle of migrating Rxjava based project to Coroutine Flow. I need to merge multiple api calls and if one of them fails, I still want it to proceed and do the job. Here's the original co... stackoverflow.com..
얼마 전에 ListAdapter의 DiffUtil을 쓰는 법에 대한 글을 썼었다. [안드로이드] ListAdapter DiffUtil 제대로 쓰기 - 1 배경 리사이클러뷰에서 부분적으로 UI를 업데이트할 때 (ex: 찜하기) 업데이트한 리스트를 submitList()로 세팅해도 DiffUtil이 제대로 돌아가지 않는 경우가 있었다. 리스트 변경사항을 제대로 감지하 collectingbuttons.tistory.com 글 1편은 ListAdapter 보다 List.map()에 대해 적었다. 그런데 위 글을 적은 후에도 여전히 헷갈리는 부분이 있어서 다시 정리해봤다. 코틀린 Collections 파일에서 map 함수의 시그니처를 보자. /** * Returns a list containing the resu..
저번에 쓴 글에서 누락된 함수들이 있어서 추가. [Kotlin] 유용한 List 고차함수 컬렉션 안에 필요한 정보를 끄집어낼 때 몇 겹씩 되는 for문을 돌리는 대신 고차함수를 쓰면 편리하다. 그렇다고 소스코드에서 for문을 안 쓰는 것은 아니나 데이터의 뎁스가 깊을 때 가독성이 좋 collectingbuttons.tistory.com 평소에 자주 쓰는 코틀린의 Collection 함수들 모아봤다. 람다함수와 컬렉션 확장함수가 섞여있다. any list.any { it -> 체크하고 싶은 조건문 } 조건에 해당하는 요소가 하나라도 있는지 true / false 리턴 val list = listOf( listOf("one"), listOf("two", "three"), listOf("four") ) val..
코틀린으로 안드로이드 앱을 개발할 때 안드로이드 sdk를 사용하지 않는 순수 코틀린 코드로 로직을 확인해야 할 때가 있다. 유닛테스트를 작성하는 것보다 간단하게 코틀린 코드를 돌려보고 싶을 때 자주 쓰는 두 가지 옵션을 소개한다. 1. 코틀린 REPL 안드로이드 스튜디오 상단 메뉴 Tools>Kotlin>Kotlin REPL의 위치에 있다. (Mac) Help에 검색해도 뜬다. 현재 윈도우에 열려있는 파일의 context로 REPL이 돌아가게 된다. 아무런 파일의 위치를 잡고 있지 않을 경우 context를 직접 선택할 수 있다. 나는 주로 루트 app을 잡아서 돌린다. 그럼 이런 식으로 콘솔창에서 코틀린 코드를 돌려볼 수 있다. 줄바꿈은 enter 코드 실행은 cmd + enter 혹은 좌측의 초록색 ..
컬렉션 안에 필요한 정보를 끄집어낼 때 몇 겹씩 되는 for문을 돌리는 대신 고차함수를 쓰면 편리하다. 그렇다고 소스코드에서 for문을 안 쓰는 것은 아니나 데이터의 뎁스가 깊을 때 가독성이 좋아진다는 장점이 있다. List 를 다룰 때 유용한 고차함수들을 간략하게 정리해봤다. 예시 데이터1 data class SubCategory( val title: String = "", var isChecked: Boolean = false ) all list.all { it -> 체크하고 싶은 조건문 } 모든 요소가 조건에 해당하는지 true/ false 리턴 val isAllChecked: Boolean = subCategory.all { it -> it.isChecked } // 전부 체크됐는지 여부 coun..
class Tester( val title : String, val list: List ) class Category( val cateNm: String, val goodsList: List ) class Goods( val goodsNm: String, val tagList: List ) fun main() { // 2차원 리스트 val list2d : List = listOf( Tester(title = "1", list = listOf("이것을", "지금부터")), Tester(title = "2", list = listOf("하나의", "리스트로", "쭈우욱")), Tester(title = "3", list = listOf("뽑을", "것입니다.")) ) val flatten : List = l..