일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ASMR
- 장자명언
- 이모지
- 이모지메모
- 1인개발자
- Android
- DART
- kotlin
- androidx
- 오픈소스
- Coroutine
- 명심보감
- Freesound
- jetpack compose
- Firebase
- 파이썬
- 벤자민플랭클린
- Flutter
- 공자명언
- 공부집중
- bash
- Streaming
- 좋은글필사하기
- 넷플릭스
- 코틀린
- Linux
- recyclerview
- 명언모음
- 소울칼리버6
- FSM
- Today
- Total
목록코틀린 (28)
Vintage appMaker의 Tech Blog
Async 관련 coroutine, Flow coroutine 필수핵심만 정리하기 Android의 동영상 플레이어(Exoplayer)에서 구간별 썸네일과 정보를 출력해야 한다면 비동기 상태로 여러작업을 동시에 해야한다. 그 때 kotlin을 사용한다면 코루틴은 선택이 아닌 필수가 된다. 안정적이고 쉽게 관리가 가능하기 때문이다. 코루틴 ( coroutine ) 비동기 방식의 협력형 멀티태스킹. Thread보다 쉽고 가볍고 안정적임. 적용방법 ( 1 ) 비동기 code가 적용되는 범위설정 CoroutineScope() 함수를 이용하여 어디에서 실행될 것인지 결정 Dispatchers.Main (Android의 UI Thread용) Dispatchers.IO (File IO, Network IO) Dispa..
🤜 sealed class는 "다양한 데이터형의 자료를 한 개의 list로 관리해야할 때" 쓸모있는 데이터 형이다. 각 데이터형은 sealed class를 상속받으면 된다. 이 자료형이 Android에서 자주 사용되는 곳은 리사이클러 뷰이다. 한 리스트에서 타입에 따라 다양한 화면을 보여주어야 하기 때문이다. VintageAppMaker/GithubSearcher github api . Contribute to VintageAppMaker/GithubSearcher development by creating an account on GitHub. github.com 🤜 Elvis 연산자 ( ?: 생긴모양이 엘비스프레슬리 헤어스타일과 같다고 명명됨)는 널체크를 사용할 때 자주 사용되는 연산자이다. pack..
lateinit lateinit 예약어를 사용하면 클래스에서 변수 : 형으로 선언가능하다. 나중에 초기화 할 수 있음. var만 사용가능. 자동으로 null 처리함 primitive 형은 불가능함 lazy 코드 어디선가 사용할 때, 1회 초기화 실행된다(안드로이드에서 위젯 초기화시 유리). val로 선언 primitive 형도 가능함. 초기화 실행 시, 일련의 코딩도 가능하다. fun main(args: Array) { var l : LateInitTest = LateInitTest() l.Test() var l2 : LazyInitTest = LazyInitTest() l2.Test() } // 코틀린에서는 java와 달리 멤버필드를 반드시 초기화해야 한다. // 아니면 abstract나 lateini..
kotlin에서는 properties를 사용할 수 있다. properties는 자바에서 사용하는 것과 유사하다. 변수를 좀더 강력(로직을 가미)하게 관리할 수 있다. get(), set() 함수로 읽고쓰기를 관리한다. 자기자신을 가리키는 예약어는 field이다. /** * Created by park on 2017-12-31. */ var 이름 : String = "박모씨" get(){ if(field.length > 5) { field = "외우기 힘듬" } return field } set(s : String ){ println ("\"${s}\"이 입력됨.") field = s } fun main(args : Array ){ 이름 = "동작구 에미넴 #2" println (이름) } 💻 Online..