일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- retrofit
- 코틀린
- Lint found fatal errors while assembling a release target
- 글자 수 제한
- compose
- 이미지 라운딩
- 버튼 클릭 효과
- rounding
- boxing
- Retrofit 2.0
- 안드로이드
- 기본형
- EditText
- maxLength
- url에서 이미지 가져오기
- XML
- Gif넣기
- 입력감지
- 버튼 누르는 효과
- Android
- 서버 통신
- Retrofit+RxJava
- apk 빌드 오류
- 글자 줄임 표시
- android api호출
- ellipsize
- 레트로핏
- Glide라이브러리
- 참조형
- Today
- Total
목록Kotlin (4)
단비의 개발블로그
Jetpack Compose 1.0이 출시된지 약 1년이 흘렀습니다. XML에 Databinding을 배워 적용한지도 얼마전인 것 같은데, 금세 또 새로운 기술이 나왔네요. XML을 사용하지 않는 새로운 패러다임이라서 많이 눈길이 갔었는데, Compose를 사용하는 곳도 늘어나고 있는 만큼, 공식 문서의 Compose 사용 이유와 기본적인 내용을 맛보기로 정리해보면서 차차 익혀보려 합니다. Compose 사용 이유 1. 코드 감소 코드를 Kotlin과 XML로 나누지 않고, Kotlin으로만 같은 파일에서 작성하여 코드 추적이 쉬워짐 코드 감소로 유지 관리가 쉬움 Recyclerview 작성 시 Adapter가 사라져 코드가 상당히 감소함 2. 직관적 선언적 API 사용, 읽기 쉬움 특정 활동이나 프래그..
코틀린의 자료형 코틀린은 기본적으로 null 허용을 하지 않습니다. 즉, 값이 항상 할당되어야 한다는 원칙이 있습니다. 코틀린은 참조형 자료형만을 주로 사용하는데, Int, Long 등의 null을 허용하지 않는 변수들은 컴파일 후 기본형 (Primitive Type) 으로 변환되어 JVM에서 실행됩니다. 물음표(?)를 붙이면 코틀린에서도 null 할당이 가능하죠. 예를 들면 Int?, Long? 등은 기본형으로 변환되지 않고 힙(Heap) 공간에 저장됩니다. 그래서 null을 가질 수 있는 Int?는 래퍼 클래스인 Integer으로 박싱(Boxing) 되어 처리됩니다. 즉, Int -> Int (Primitive type) Int? -> Integer 이와같이 처리됩니다 코틀린의 동등성 연산 (== ,..
안녕하세요! 오늘은 EditText를 사용하다보면 쓸 일이 생기는 TextWatcher에 대해 포스팅 해보겠습니다. TextWatcher는 단어 그대로 입력되는 Text를 감지하고 있다가 실시간으로 동작하는 유용한 클래스죠. 입력 값 형식 체크, 환율 계산 등등 여러 상황에서 많이 쓰입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 private val textWatcher = object : TextWatcher { override fun afterTextChanged(s: Editable?) { val length = s.toString().length tvLength.text = "$length / 120" } override fun beforeTextChanged(s: CharS..
Retrofit 2.0 사용 방법에 대한 포스팅을 해보려고 합니다. 서버와 통신을 하는 데 많이 쓰는 아주 유용한 라이브러리입니다. HttpURLConnection을 사용하여 통신을 위한 코드를 직접 작성할 수도 있지만 코드의 양도 많아지고, 아무래도 직접 작성한 코드는 여러가지 유형의 버그에 취약할 수 있죠. Retrofit 2.0 은 인터페이스와, 여러가지 어노테이션을 사용하여 직관적이고, 간결하게 서버와 통신할 수 있도록 해줍니다. 한번도 써보지 않으신 분들은 신세계를 경험하실 거에요! 여기저기서 공부하고 직접 써본 후에 작성하는 포스팅이므로 잘못된 점이나, 더 나은 방법 혹은 질문이 있으시다면 얼마든지 댓글로 알려주세요 :) 시작하겠습니다! 1. 시작하기 먼저 app단의 build.gradle에 ..