일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- build with ai
- kotlin collection
- 시행착오
- ktor api call
- android
- llm
- getChangePayload
- ListAdapter DiffUtil
- video caching
- FastAPI
- kotlin list
- ListAdapter
- list map
- ExoPlayer
- android exoplayer
- doc2vec
- ansi2html
- android ktor
- exoplayer cache
- 독서
- Python
- AWS EC2
- 유튜브
- ktor client
- android custom view
- DiffUtil.ItemCallback
- 스피너
- 안드로이드
- ChatGPT
- map
- Today
- Total
목록분류 전체보기 (100)
버튼 수집상
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbUDBp/btsdi17o2Vl/Jnm9wkuRrZvvk5RRUPGxck/img.png)
배경 리사이클러뷰 안에서 다른 뷰홀더를 덮으면서 펼쳐지는 두 줄짜리 리스트를 구현해야 했다. 그래서 드롭다운 UI가 액티비티 최상위에 그려지는 스피너 Spinner 를 선택했다. (참고 PopUpWindow) 과제1 드롭다운 리스트가 펼쳐지고 닫히는 시점을 알기 위해 AppCompatSpinner를 상속하는 커스텀뷰를 만들고 리스너 인터페이스를 달았다. 참고한 스택오버플로우 답변 Spinner: get state or get notified when opens Is it possible to know whether a Spinner is open or closed? It would even be better if there was some sort of onOpenListener for Spinners...
컬렉션 안에 필요한 정보를 끄집어낼 때 몇 겹씩 되는 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..
배경 같은 종류의 데이터가 각기 다른 json 키 이름으로 들어오는 api 가 있었다. 구글의 gson 라이브러리는 json 키와 데이터 클래스 변수명을 1:1로 매핑시키므로 별도의 처리가 필요했다. 예시 데이터 클래스 data class TestResponse( // 키 이름이 다른 json 값들을 읽어서 List에 add. val areaList: List? ) { data class AreaData( @SerializedName("itemType") val itemType: String?, @SerializedName("imagePath") val imagePath: String? ) } 응답값 json { "banner1" : { "itemType" : "banner1", "imagePath" :..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Eq6En/btr0gkMy2Eg/s2gPMMkKZ9ytTykcWkFv40/img.png)
themes.xml 파일에서 windowIsTranslucent=true 옵션을 지우고 앱을 다시 설치하니까 해결됐다. 관련 스택오버플로우 번역
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..
배경 인트로에서 메인으로 넘어간 후, 웹뷰가 그려지기 전까지 하얀 화면이 비치는게 거슬렸다. 메인 액티비티 위에서 프래그먼트를 띄우는 방법밖엔 떠오르지가 않는다. 인트로 화면을 액티비티로 가져가면서 메인 액티비티에 웹뷰를 미리 그릴 수는 없는지 알아보면서 서치. Preloading an activity before displaying it? I am developing a game for android, it takes a few seconds of time to load everything before you can play. During this time or the splash screen, I would like to display a progress bar to show the ... stack..
6자리 컬러코드 앞에 투명도를 나타내는 두 자리수를 더한다. • 100% — FF • 90% — E6 • 80% — CC • 70% — B3 • 60% — 99 • 50% — 80 • 40% — 66 • 30% — 4D • 20% — 33 • 10% — 1A 예) 투명도 50%의 검정색 -> #80000000 두 자리수 알파 헥스코드를 구하는 방법. 256을 100으로 놓고 비율에 해당하는 숫자의 16진수를 구한다. 예) 투명도 85% -> 256 * 0.85 = 217.6 -> 217.6 / 16 = 13.6 -> 217.6 % 16 = 9.6 -> #D9
스피너 Spinner 를 열지도 않았는데 뷰를 초기화하자마자 디폴트값으로 onItemSelectedListener를 탔다. 검색해보니, 아이템을 선택한 건지 아닌지 판별하기 위해서는 터치리스너를 빼서 플래그를 켜야하는 것 같았다. Android Spinner OnItemSelected ONLY on User Interaction I know that this question has been answered multiple times, but I have not found any of them satisfactory and certainly not elegant. The issue is that OnItemSelected gets fired not only when the u... stackoverflow..