layout_constraintDimensionRatio 속성에 바인딩 표현식 적용하기

ConstrainLayout라이브러리에서는 기본 바인딩어댑터를 제공하지 않는 듯 하다. 그래서 다음과 같이 이미지뷰 비율 조절을 위한 바인딩 어댑터를 추가했다. public class ConstraintLayoutBindingAdapter { @BindingAdapter(“layout_constraintDimensionRatio”) public static void setConstraintDimensionRatio(View view, String ratio){ if(view.getParent() instanceof ConstraintLayout){ ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) view.getLayoutParams(); layoutParams.dimensionRatio = ratio; 더보기…

RxJava와 데이터 바인딩으로 유효성 검사하기

RxJava와 데이터 바인딩으로 유효성 검사하기 많은 안드로이드 애플리케이션이 회원가입, 은행, 쇼핑몰 주문 등과 같은 곳에서 Email, 전화번호, 이름, 비밀번호 등을 사용자로 부터 입력 받는다. 사용자의 단순한 실수 또는 어뷰징을 막기 위해 각 폼의 유효성 검사를 해야한다. 회원가입을 예로들었을 때 유효성 더보기…

Android에서 View의 생명주기

https://proandroiddev.com/the-life-cycle-of-a-view-in-android-6a2c4665b95e을 번역한 내용입니다. 안드로이드 앱을 실행할 때 우리가 가장 먼저 스크린에서 볼 수 있는 것이 View라고 말할 수 있다. View 클래스는 사용자 인터페이스 기본적인 구성 요소를 가지고 있다. 예를들어 스크린위 사각형 영역에서 그리기 및 이벤트 처리 같은 작업이 View를 통해 더보기…

Android 11에서 AsyncTask가 Deprecated되었습니다

Good bye, AsyncTask 2019년 11월 8일 6시 54분 Charles Munger에 의해 공식적으로 AsyncTask 사망 선고가 내려졌다. AsncyTask는 백그라운드 작업과 UI간 상호작용을 단순화해주는 도구였다. 구글 안드로이드 튜토리얼에서도 종종 등장했기 때문에, 수년간 많은 개발자들이 이를 배우고 사용해왔다. 실제로 AsyncTask는 비동기 작업을 단순화하는데 더보기…

글쓴이 Charlezz,

View Binding 살펴보기

View Binding이란? 뷰 바인딩(View Binding) 은 뷰와 상호 작용하는 코드를보다 쉽게 ​​작성할 수있는 기능입니다. 모듈의 build.gradle에서 뷰 바인딩 속성이 활성화되면 해당 모듈에있는 각 XML 레이아웃 파일에 대한 바인딩 클래스가 자동으로 생성됩니다. 바인딩 클래스 인스턴스에는 해당 레이아웃에 ID가 있는 모든 뷰에 더보기…

미리보는 안드로이드 스튜디오 4.0

Android Studio 4.0 New Feature 안드로이드 스튜디오 4.0 Canary1을 Canary와 Dev 채널에서 사용가능하다. Jetpack Compose지원 Jetpack Compose 툴킷은 UI를 만드는 현대적인 접근 방식을 제공한다. 또한 툴킷은 Java와 완전히 상호 운용 가능한 간결하고 관용적인 코드를 작성하는 등 Kotlin의 모든 이점을 제공합니다. 더보기…

안드로이드 개발자로 대기업에 이직하기

안드로이드 개발자로 대기업에 이직하기 주관적인 글은 잘 안쓰려고 하지만, 많은 이들이 이직을 관심사로 두고 있는 것 같아 대기업으로의 이직을 주제로 글을 적고자 한다.  개발자들의 주된 이직의 목적은 대부분 더 나은 연봉 / 복지 등 처우개선이 아닐까 싶다. 하지만 좋은 대우를 더보기…

글쓴이 Charlezz,

프레그먼트 전용 컨테이너 FragmentContainerView

FragmentContainerView란? 액티비티에서 프래그먼트를 호스팅하는 일반적인 패턴 중 하나는 FrameLayout을 사용하는 것이다. androidx.fragment 1.2.0 에서는 FragmentContainerView라는 새로운 뷰를 도입했다. FragmentContainerView는 Fragment를 위해 특별히 설계된 레이아웃이다. FrameLayout을 확장하여 프래그먼트 트랜잭션을 안정적으로 처리 할 수 ​​있고,  프래그먼트 동작을 조정할 수있는 추가 기능도 있다. 더보기…

LG 기기 구분하기 (How to determine LG devices)

내키지는 않지만, LG기기를 구분해야하는 케이스가 생겼다. 일반적으로 클립보드에 컨텐츠를 복사하는 코드는 다음과 같다. ClipboardManager manager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); ClipData clip = ClipData.newPlainText(“simple text”, “Hello, World!”); manager.setPrimaryClip(clip); 일반적인 폰들에서는 모르겠는데, LG 기기들은 확실히 클립보드에 컨텐츠를 복사하면 오버레이 UI 또는 토스트가 노출 더보기…