본문 바로가기

분류 전체보기133

Binding Adapter(결합 어댑터) 예제를 통해 이해하기 (본 포스팅의 예제는 뷰모델, 데이터바인딩, 라이브데이터의 기본 개념을 숙지하여야 이해가 용이합니다.) BindingAdapter는 Jetpack 라이브러리 기본 구성 요소인 "데이터 결합 라이브러리"의 내용 중 하나이다. 안드로이드 개발문서에 따른 공식 번역으로는 “결합 어댑터”라고 부르고 있는데, 결합 어댑터의 역할은 아래와 같다. 안드로이드 기본 프레임워크에서 적절한 프레임워크를 호출하여 값을 설정하는 작업을 담당한다. 문장이 이해하기가 어렵다. 쉽게 예를 들자면 우리는 텍스트뷰의 텍스트나, 색상 등의 속성값을 설정할 수 있는데, 여기서 bindingAdapter를 이용하면 속성값을 설정할 때에 우리가 명시적으로 원하는 로직을 덧붙여서 값을 설정 할 수도 있다는 말이다. 아래 예제들을 통해 실 사용.. 2022. 4. 16.
Android 공공 Open API를 retrofit2를 활용해서 사용하기. 공공 데이터 포털은 공공기관이 관리하는 공공데이터를 제공하는 창구이다. Oepn API 말고도 파일데이터나 시각화 자료까지도 접근, 이용할 수 있다. 뿐만 아니라 내가 원하는 데이터가 현재 제공되지 않는다면 별도로 제공 신청 프로세스도 밟을 수 있다고 한다. 이 글에서는 청약 관련 조회 API를 신청해서 가볍게 화면에 뿌려주는 것까지 진행해보려 한다. Step 1. 아래 공공 데이터 포털 사이트에 접속/회원 가입 후, 메인화면 검색창에서 내가 사용하고자 하는 API 서비스를 검색하면 된다. 공공 데이터 포털 사이트 : https://www.data.go.kr/index.do Step 2. 사용하고자 하는 Open API 활용 신청하기. 사용하고자 하는 API는 승인절차가 "자동승인", 혹은 "일반승인".. 2022. 4. 10.
안드로이드12 상태바/내비바 배경, 아이콘 색상 설정 Android 12 StatusBar, NavigationBar color setting 안드로이드12에서부터 systemUiVisibility()가 deprecate되어 상태바/내비바 아이콘 색상 설정에 있어 이슈가 생겼다. 구글 개발자 문서를 들여다보니 WindowInsetsController의 setSystemBarsAppearance()를 이용하여 작업을 진행해야 한다고 한다. 구글 개발자 문서 링크 : https://developer.android.com/reference/android/view/WindowInsetsController 상태바(StatusBar) 아이콘 색상 설정 /** * 상태바 아이콘 색상 지정 * @param isBlack true : 검정색 / false : 흰색 */ p.. 2022. 4. 7.
[Kotlin] 코틀린 정리노트(1) - 코틀린은 간결한 문법을 사용하여 문장 끝에 세미콜론을 붙이지 않으며, new 키워드를 사용하지 않고 객체를 생성한다. 그리고 타입추론을 가능케하여 대개 타입을 적지 않아도 된다. - 변수의 불변과 가변을 구분짓는다. 또한 변수의 선언과정에서 자바와 반대로 이름과 타입순으로 적는다. 이름과 타입 사이에는 콜론(:)이 들어간다.+val(value) : 불변+var(variable) : 가변 val name = "brother jun" // 세미콜론이 없으며 타입추론으로 String 타입으로 받아들인다. var names = "bro jun" // 가변이 가능한 var(variable) 타입, 불변은 val(value)를 사용한다. name = "brother jun" // error 발생! val 변수는.. 2019. 1. 28.
[JAVA] 자바 정리노트(7) [JAVA] 자바 정리노트(7)-람다식, 스트림- 1. 람다식은 메소드를 하나의 식으로 표현한 것으로, 메소드를 변수처럼 다루는 것이 가능해졌다. 2. 람다식에 선언된 매개변수 타입은 생략이 가능하다. 또한 매개변수가 하나인 경우 괄호를 생략할 수 있다. 반환타입도 생략이 가능하다. 다만 반환타입 return을 생략하지 않을 경우 람다식의 {}를 생략할 수 없다.(int a, int b) -> a>b ? a b (a, b) -> a>b ? a:b // 매개변수의 타입이 생략된 경우 a - > a + a // 매개변수가 하나인 경우 (a , b) -> {return a>:b ? a:b} // 반환타입이 있을 경우 {}괄호 생략 불가 3. 람다식을 다루기 위해 만들어진 함수형 인터페이스에는 오직 하나의 추상.. 2019. 1. 27.
[JAVA] 자바 정리노트(6) [JAVA] 자바 정리노트(6)-쓰레드- 1. 쓰레드를 구현하는 방법으로는 Thread 클래스를 상속하거나, Runnable인터페이스를 구현하는 것이다. 전자의 경우 다른 클래스를 상속받을 수 없기에 후자의 경우가 보다 일반적이다. 2. 한 번 실행을 종료한 쓰레드는 다시 실행할 수 없다. 3. 멀티 쓰레드가 무조건 싱글 쓰레드로 작업한 시간보다 덜 걸리는 것은 아니다. 이유인즉 쓰레드간 작업 전환시간이 소요되기 때문이다. 이 소요시간을 'context switching'이라 한다. 4. 쓰레드는 OS의 프로세스 스케줄러의 영향을 받는다. OS 종속적이다. 5. 쓰레드는 우선순위를 지정할 수 있으며, 우선순위의 범위는 1~10까지로, 숫자가 높을수록 우선순위가 높다. 또한 쓰레드를 생성한 쓰레드로부터 우.. 2019. 1. 27.
반응형