본문 바로가기

Android

(13)
[Android] TextWatcher 사용하기 - EditText 입력 변경 이벤트 탐지 (Kotlin) + 무한루프 해결법 안녕하세요! 오늘은 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..
[Android] Retrofit 2.0 사용 방법 (Java, Kotlin) - 2. Call 동기, 비동기 1. 시작하기 (이전 포스팅) 이번 포스팅은 Retrofit의 Call을 이용하여 실제 통신을 하는 방법에 대해서 포스팅하겠습니다. 많이 쓰고, 간단한 방법인것 같습니다. 동기와 비동기 통신 두가지 방법이 있습니다. 간단한 만큼 Java와 Kotlin 두가지 다 보여드릴게요 1. 초기화 [Java] 1 2 3 4 5 6 7 public static final Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://api.twitch.tv/") .addConverterFactory(GsonConverterFactory.create()) .build(); final TwitchService twitchService = retrofit.create(Twit..
[Android] TextView, EditText 글자 수, 줄 수 제한하기 (+글자 줄임 표시) 오늘은 앱을 개발하다보면 언젠가 한번은 쓰는 TextView나 EditText에서 글자 수를 제한하는 방법에 대해 포스팅 해보겠습니다 1. 글자 수 제한 1 2 3 4 5 글자 수 제한의 경우 간단히 maxLength를 사용합니다. 이때 글자 수는 공백 포함인 것을 알 수 있습니다. EditText의 경우 5글자를 작성하면 더이상 써지지 않습니다! 2. 글자 수 제한 + 줄임표 1 2 3 4 5 6 7 줄임표를 사용할 경우 ellipsize 속성을 씁니다. end는 텍스트 뒷부분을 줄이기 위해서구요 ellipsize 속성을 썼을 때 maxLength를 사용하면 줄임표가 제대로 뜨지 않더라구요 ems를 써주었습니다. ems는 공백 포함하지 않고 글자 수를 제한하는 것을 알 수 있죠! 예전에는 singleL..
[Android] Button 클릭 효과 주기 (버튼 누르는 효과, XML) 오늘은 간단하지만 잊어버리기 쉬운 버튼 클릭 효과에 대해 포스팅 해보겠습니다! 바로 본론으로 들어가서 먼저 res/drawable 폴더에 새 resource 파일을 생성해주세요 drawable/button_back.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 맨 윗줄 state_pressed="true" 에는 눌렀을 때의 상태, 두, 세번째 item은 누르지 않은 (보통의) 버튼 상태, 마지막 state_enabled="false" 에는 버튼이 비활성화 되었을 때의 drawable을 넣어줍니다. drawable/button_back_pressed.xml 1 2 3 4 csv item에 drawable 속성으로 넣어준 xml 파일은 이렇게 작성해주면 됩..
[Android] Retrofit 2.0 사용 방법 (Kotlin) - 1. 시작하기 Retrofit 2.0 사용 방법에 대한 포스팅을 해보려고 합니다. 서버와 통신을 하는 데 많이 쓰는 아주 유용한 라이브러리입니다. HttpURLConnection을 사용하여 통신을 위한 코드를 직접 작성할 수도 있지만 코드의 양도 많아지고, 아무래도 직접 작성한 코드는 여러가지 유형의 버그에 취약할 수 있죠. Retrofit 2.0 은 인터페이스와, 여러가지 어노테이션을 사용하여 직관적이고, 간결하게 서버와 통신할 수 있도록 해줍니다. 한번도 써보지 않으신 분들은 신세계를 경험하실 거에요! 여기저기서 공부하고 직접 써본 후에 작성하는 포스팅이므로 잘못된 점이나, 더 나은 방법 혹은 질문이 있으시다면 얼마든지 댓글로 알려주세요 :) 시작하겠습니다! 1. 시작하기 먼저 app단의 build.gradle에 ..