2018/11

Android/Development Tips

[Android] Sparse Array 와 HashMap 비교하기

accept 보통 작업을 하다 보면, Map를 사용하게 되면, SparseArray 더욱 좋은 Performance를 가지고 있으니 바꾸라는 Lint가 뜬다. SparseArray는 Primitive type의 키를 가질때, HashMap 으로 대체될 수 있다. SparseArray 가 가지는 장점으로는 HashMap 과는 달리 내부에서 객체를 생성하지 않아, 더 높은 퍼포먼스를 가진다고한다. 그렇게 때문에 Wrapper 클래스로 boxing 할 필요가 없어 또한 이점을 가진다. SparseArray의 주 목적은 객체 대신 객체를 키로 사용하여 메모리를 절약한다는 것이다. 단점으로는 안드로이드에서만 동작하기 때문에 안드로이드에 높은 의존성을 가진다. HashMap은 아래와 같이 변환되어 사용될 수 있다...

Android/Development Tips

[Android] Foreground 활용하기, 터치 이벤트 쉽게 적용하기

보통 안드로이드 개발을 하다보면, 사용자가 터치해야 하는 영역을 커스텀하여 개발하는 일이 잦다. 보통 Selecter 같은 것을 활용하여, background(후경)에 적용하여 해결하지만, 가끔 하위 뷰에 터치 이벤트가 가려지는 경우가 있다. 그래서 appcompat-v7 라이브러리 에서 터치 이벤트를 쉽게 적용할 수 있도록 ?attr/selectableItemBackground, ?attr/selectableItemBackgroundBorderless 등 제공하는 속성을 이용하여 Foreground(전경)에 넣어주게 되면 터치 이벤트가 뷰의 가장 앞에 위치하게 되어 해결할 수있다. 참고로 Foreground 속성은 FrameLayout에서 제공하며, 이를 상속 받는 모든 것들에 적용할 수 있습니다.

Kotlin & Java

[Java ] 두개의 리스트에서 중복되는 객체 비교

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..

Nanamare
'2018/11 글 목록