개발을 하다보면 액티비티나 프래그먼트에서 내부 리소스 파일에 접근해야 하는 경우가 있다.
내가 데이터바인딩을 몰랐을 때는 무지성으로 액티비티에 모든 코드를 때려박았는데 그럴때는 당연히 이런 방식으로 리소스에 접근을 했다.
근데 이렇게 하면 컴파일러가 찡찡댄다
해석해보면
1) ResourcesCompat.getDrawable()을 사용해라.
2) getDrawable(Int) : Drawable은 추천되지 않는다
안드로이드 API 22 부터 getDrawable(), getColor() 함수는 Deprecated 되었기 때문입니다
그렇다 더 이상 사용되지 않는 함수나 API를 우리는 Deprecated API 라고 부른다
어떻게 하긴 뭘 어떻게 하냐
다른 함수를 찾아야지
resource에 접근하며 해당 레이아웃의 테마를 지정할 수 있는가?
안드로이드 API 레벨 21 이상에서 작동하는가?
안드로이드 API 레벨 21 미만에서 작동하는가?
벡터 이미지를 가져올 수 있는가?
4가지 모두 장점이 있다
API 레벨을 분리할 필요 없이 resource에 접근하고 싶다면 AppCompatResource나 VectorDrawableCompat을 사용하면 된다.
마찬가지로 theme 지정도 하고 싶다면 ResourcesCompat이나 VectorDrawableCompat 을 사용하면 된다.
너무 유익한 정보네요~