accept 보통 작업을 하다 보면, Map를 사용하게 되면, SparseArray 더욱 좋은 Performance를 가지고 있으니 바꾸라는 Lint가 뜬다. SparseArray는 Primitive type의 키를 가질때, HashMap 으로 대체될 수 있다. SparseArray 가 가지는 장점으로는 HashMap 과는 달리 내부에서 객체를 생성하지 않아, 더 높은 퍼포먼스를 가진다고한다. 그렇게 때문에 Wrapper 클래스로 boxing 할 필요가 없어 또한 이점을 가진다. SparseArray의 주 목적은 객체 대신 객체를 키로 사용하여 메모리를 절약한다는 것이다. 단점으로는 안드로이드에서만 동작하기 때문에 안드로이드에 높은 의존성을 가진다. HashMap은 아래와 같이 변환되어 사용될 수 있다...
보통 안드로이드 개발을 하다보면, 사용자가 터치해야 하는 영역을 커스텀하여 개발하는 일이 잦다. 보통 Selecter 같은 것을 활용하여, background(후경)에 적용하여 해결하지만, 가끔 하위 뷰에 터치 이벤트가 가려지는 경우가 있다. 그래서 appcompat-v7 라이브러리 에서 터치 이벤트를 쉽게 적용할 수 있도록 ?attr/selectableItemBackground, ?attr/selectableItemBackgroundBorderless 등 제공하는 속성을 이용하여 Foreground(전경)에 넣어주게 되면 터치 이벤트가 뷰의 가장 앞에 위치하게 되어 해결할 수있다. 참고로 Foreground 속성은 FrameLayout에서 제공하며, 이를 상속 받는 모든 것들에 적용할 수 있습니다.
List A와 List B에서 같은 객체가 존재하는지 어떤 방식으로 비교 할 수 있을까? premitive 타입이라면 그저 Contains 메소드를 사용하여 비교하면 되겠지만,Reference 타입이라면 T class에서 equals 메소드를 오버라이드해서 사용하면 된다. 예시 )ExContentsVO클래스의 mExId는 유니크한 아이디 값을 가지게 되어있다.public class ExContentsVO { private int mResId; private int mExId; private String mExName; private int mExTime; private int mRestTime; private boolean mChecked; public int getResId() { return mRes..