Mobile : Android18 [Jetpack AAC] View Binding 정리 [Jetpack AAC] View Binding 정리 핵심 : findViewById 를 쓰지 않는다. 뷰 바인딩은 각 XML 레이아웃 파일에 해당하는 바인딩 클래스(Binding Class)를 자동 생성하여 뷰에 대한 직접 참조를 가능케 한다. 기존에는 코틀린 합성 프로퍼티를 이용해서 했지만 코틀린 합성 프로퍼티는 이제 deprecated 예정이기에 공식적으로 이 방법을 쓰는게 맞다. 기본적인 뷰바인딩 사용방법과 3가지 사례(Activity에서 사용법, Fragment에서 사용법, ViewHolder에서 사용법)를 정리해보겠다. 준비 안드로이드 스튜디오 3.6 이상 (Canary 11 이상) 에서 사용 가능 모듈 수준 gradle 파일에 다음을 추가한다. android{ ... 중략 viewBindin.. 2021. 11. 15. [Jetpack Compose] Compose # 1 - 기본 [Jetpack Compose] Compose # 1 - 기본 Jetpack Compose 란? Jetpack 컴포스는 구글이 제시한 최신 선언형 UI 프레임워크이다. 기존 레거시 뷰 체계는 앞으로 등장하게 될 다양한 기기들의 화면(폴더블, 플렉서블, 테블릿 등) 형태에 대응하기 어렵고, 이러한 레거시 라이브러리의 업데이트는 안드로이드 엔지니어들이나 이를 이용하여 개발하는 개발자 둘 다에게 비효율적이다. 따라서 구글에서는 완전히 새로운 Android UI 설계 프레임워크를 지난 21년 5월에 출시하였다. 본 포스트는 Jetpack Compose 1.0 버전 기준으로 작성하였다. Jetpack Compose 의 특징 API Level 21 부터 호환하여, 대부분의 안드로이드 OS 버전에 호환 특정 OS에 .. 2021. 11. 6. [Android Library] Retrofit2 #2 - HTTP Method [Android Library] Retrofit2 #2 - HTTP Method Retrofit은 HTTP REST API통신에 사용하는 여러 종류의 요청 메서드를 사용할 수 있도록 돕는다. Retrofit에서 구현 가능한 HTTP 요청 메소드는 GET, POST, PUT, DELETE, HEAD 이 5가지가 기본이며 어노테이션을 통해 이용가능하다. 참고로 메소드 Annotation은 대문자로 표기되며, 메소드와 함께 쓰이는 설정 어노테이션은 앞글자만 대문자료 표기된다. (ex : @GET, @Query ) Annotaion 요약 메소드 Annotation 종류 (서버의 파일(데이터)에 대한 CRUD 기준, 서버 DB에 대한 쿼리 기준) 주요 메소드 @GET : 바디 없이 URL에 모든 정보를 담아 요청.. 2021. 9. 17. [Kotlin Plugin] JsonToKotlinClass [Kotlin Plugin] JsonToKotlinClass Kotlin 유저를 위한 유용한 플러그인이 있어 소개하고자 한다. Retrofit 등 HTTP 통신을 필요로하는 라이브러리를 사용할 때, API에서 요구하는 JSON 형식을 데이터 클래스로 일일히 구현하기는 여간 귀찮은 일이 아니다. 이를 위해 자동으로 필요한 클래스들을 정의하는 JsonToKotlinClass 플러그인을 소개한다. 설치 File -> Settings -> Plugins Json 검색 -> JSON To Kotlin Class 설치 사용 예시로 카카오 주소 검색 API 의 JSON 응답을 클래스로 만들어보겠다. https://developers.kakao.com/docs/latest/ko/local/dev-guide#addres.. 2021. 9. 8. [Android Library] Retrofit2 #1 - 레트로핏 기본 개괄 [Android Library] Retrofit2 #1 - 레트로핏 기본 개괄 REST API 통신을 사용하고자 한다면, 레트로핏을 쓰는게 가장 깔끔하고 편하다. 주로 비동기 통신 구현을 위해 그동안 사용해 왔는데 한 번쯤 정리의 필요성을 느껴 기본 개괄과 HTTP 요청 방식 정리로 두 번의 포스트에 걸쳐 정리하고자 한다. HTTP GET 메소드의 구현을 예시로 하겠다. 언어는 Kotlin 으로 하겠다. 선행 사항 다음 기술들을 선행하면 좋다. REST API (POST, GET, PUT, DELETE) & CRUD (Create, Read, Update, Delete) 비동기 통신 기본 정보 및 장점 Squareup사 에서 만든 라이브러리로 OkHttp의 위에서 구동되는 구현체이다. AsyncTask .. 2021. 9. 8. [Android Library] Tensorflow Lite - Sound Classification [Android Library] Tensorflow Lite - Sound Classification 경량화 기술의 발달로 모바일에서 AI 모델을 돌릴 수 있는 기술들이 많이 등장하고 있다. 지난번에 PyTorch Mobile 을 이용한 음성 인식 모델 사용법에 이어, 좀 더 간편하게 사용할 수 있는 Tensorflow Lite 라이브러리를 소개하고자 한다.예시는 YAMNet 모델 이용하여 521가지의 소리를 분류해 보겠다. 언어는 Java를 이용하겠다. Kotlin 은 구글에서 제공하는 공식 레퍼런스를 참조하면 된다. (프로젝트가 Java 여서 테스트 코드를 만들다 보니, 부득이하게 Java를 예시로 들겠다) UI 는 없이 Log로 찍어서 확인하겠다. 준비 1. Gradle 앱수준의 dependenci.. 2021. 8. 25. [Android Component] 서비스(Service) #3 - 바운드 서비드(Bound Service) : 로컬 바인딩 2021.08.09 - [Android/Android Architecture] - [Android Component] 서비스(Service) #2 - 스타티드 서비스(Started Service) [Android Component] 서비스(Service) #2 - 스타티드 서비스(Started Service) 서비스(Service) #2 - 스타티드 서비스(Started Service) 스타티드 서비스(Started Service) 스타티드 서비스는 공식 문서에선 Unbound Service 라고 하는데, Unbound는 바운딩되었다가 언바운드 한 것인지.. full-stack.tistory.com △ 선행 포스트 서비스(Service) #3 - 바운드 서비드(Bound Service) : 로컬 바인딩 .. 2021. 8. 24. 이전 1 2 3 다음