수색…


더 이상 사용되지 않는 API 처리 방법

개발자가 개발 프로세스 중에 비추천 API를 발견하지는 않을 것입니다. 사용되지 않는 프로그램 요소는 일반적으로 위험하거나 더 나은 대안이 있기 때문에 프로그래머가 사용을 꺼리는 것입니다. 컴파일러와 분석기 (예 : LINT )는 비추천 프로그램 요소가 사용되지 않거나 비 권장 코드에서 무시 될 때 경고합니다.

더 이상 사용되지 않는 API는 일반적으로 Android Studio에서 삼진 아웃을 사용하여 식별됩니다. 아래의 예에서 .getColor(int id) 메서드는 더 이상 사용되지 않습니다.

getResources().getColor(R.color.colorAccent));

가능한 경우 개발자는 대체 API 및 요소를 사용하는 것이 좋습니다. 라이브러리에 대한 Android 설명서를 방문하고 'API 레벨 x에 추가됨'섹션을 확인하여 라이브러리의 이전 버전과의 호환성을 확인할 수 있습니다.

getColor가 API 레벨 1에서 추가되었으며 API 레벨 23에서 사용되지 않음

사용할 API가 사용자가 사용중인 Android 버전과 호환되지 않는 경우 해당 라이브러리를 사용하기 전에 사용자의 API 수준을 확인해야합니다. 예 :

//Checks the API level of the running device
if (Build.VERSION.SDK_INT < 23) {
    //use for backwards compatibility with API levels below 23
    int color = getResources().getColor(R.color.colorPrimary);
} else {
    int color = getResources().getColor(R.color.colorPrimary, getActivity().getTheme());
}

이 방법을 사용하면 앱이 새로운 Android 버전 및 기존 버전과 호환되도록 유지됩니다.

보다 쉬운 대안 : 지원 라이브러리 사용

지원 라이브러리가 사용되는 경우 종종 클라이언트 코드가 적게 같은 작업을 수행 할 수있는 정적 도우미 메서드가 있습니다. 위의 if / else 블록 대신에 다음을 사용하십시오 :

final int color = android.support.v4.content.ContextCompat
    .getColor(context, R.color.colorPrimary);

서명이 다른 새로운 메소드와 이전 버전에서 사용할 수 없었던 많은 새로운 기능이있는 사용되지 않는 메소드는 이와 같은 호환성 도우미 메소드가 있습니다. 다른 것을 찾으려면 ContextCompat , ViewCompat 등과 같은 클래스에 대한 지원 라이브러리를 검색하십시오.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow