생각자유의 안드로이드 이야기

안드로이드 스튜디오에서 deprecated된 메서드 찾기 본문

Android/Tip

안드로이드 스튜디오에서 deprecated된 메서드 찾기

생각자유 2017. 1. 2. 18:52
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

소소하게 Youtube채널을 개설하였습니다.

좋아요 및 구독 부탁드리겠습니다. (곧 안드로이드 관련 많은 자료들을 올릴 예정입니다.)

https://www.youtube.com/channel/UCwgElJMunsiDF8P2UOzjx2g/



안녕하세요. 자유입니다.


금일 주제는 제가 직접 경험(?)한 사례에 대해서 알려드리고자 합니다.


금일 저희 앱을 누가에 지원 및 테스트를 하기 위해 


API 24버전으로 올렸습니다.


당연히......Deprecated가 된 메서드들이 존재 할 것입니다.


근데 일일이 수동으로 찾기는 힘들도..어떻게 빠르게 찾을 수 있을까 해서 소개를 드리고자 합니다.



안드로이드 스튜디오 메뉴중에 Run Inspection by Name이 있습니다. 이놈인데요.


클릭을 하시면.



하단 메뉴중 Deprecated API usage를 클릭하시고


OK를 힘차게 클릭합니다.


.... 조금 기다리시면.



하단에 Deprecated함수를 67개나 찾았네요.. @.@


Code maturity issues를 클릭하시면 해당 클래스들이 모두 나옵니다. (보안상....자세히는 보여드리지 못합니다.)


저의 경우 클릭 클릭 후



예제로 하나 보시면.


mainTab.setOnTabSelectedListener(new TabViewPagerOnTabSelectedListener(mainPager));

제 앱에서 이 메서드를 사용하는데 Deprecated가 되었다고 합니다. 들어가보니...


/**
* @deprecated Use {@link #addOnTabSelectedListener(OnTabSelectedListener)} and
* {@link #removeOnTabSelectedListener(OnTabSelectedListener)}.
*/
@Deprecated
public void setOnTabSelectedListener(@Nullable OnTabSelectedListener listener) {
// The logic in this method emulates what we had before support for multiple
// registered listeners.
if (mSelectedListener != null) {
removeOnTabSelectedListener(mSelectedListener);
}
// Update the deprecated field so that we can remove the passed listener the next
// time we're called
mSelectedListener = listener;
if (listener != null) {
addOnTabSelectedListener(listener);
}
}

그...래요.....맞네요...


아까 하단 탭에서 클릭해 보시면.





이렇게 친절하게 어디서 났고 위치, 문제까지 설명해 줍니다.


아까 위에 보시면 Set...대신 add로 쓰라고 나와았네요.


- 감사합니다.

Comments