1. Analyze -> Run Inspection by Name ... -> Deprecated API usage 실행
1. Analyze -> Run Inspection by Name ... -> Deprecated API usage 실행
기존 코드
img_season = (BitmapDrawable)context.getResources().getDrawable(getMap().get(str_season));
수정 코드
img_season = (BitmapDrawable) ContextCompat.getDrawable(context, getMap().get(str_season));
출처: https://yonoo88.tistory.com/872 [yonoo's]
[Android] Navigation + Fragment 관리 관련 메모 (0) | 2020.04.20 |
---|---|
[Android] 프로젝트의 Deprecated API 확인 방법 (0) | 2020.04.20 |
[Android] FragmentStatePagerAdapter is deprecated from API 27 (1) | 2020.04.20 |
[Android] Display 사이즈 가져오기 & getWidth() is deprecated as of API 15: Android 4.0.3 (IceCreamSandwich) (0) | 2020.04.20 |
[Android] 지문인식 기능 변천사 정리 (0) | 2019.12.31 |
FragmentStatePagerAdapter는 API 27에서 deprecated 되었다.
그렇다면 개선하기 위해서는 어떻게 해야할까?
android.support.v13.app.FragmentPagerAdapter was deprecated.
따라서 android.support.v4.app.FragmentPagerAdapter를 쓰자.
AndroidX로 따지면,
androidx.fragment.app.FragmentStatePagerAdapter 대신에
androidx.fragment.app.FragmentPagerAdapter 를 쓰는 것.
만약, 기존소스가 아래와 같다면,
private class MainPagerAdapter extends FragmentStatePagerAdapter {
MainPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment result = new DummyFragment();
return result;
}
@Override
public int getCount() {
return 5;
}
}
Pager class는 아래와 같이 변경하고,
private class MainPagerAdapter extends FragmentPagerAdapter {
MainPagerAdapter(@NonNull FragmentManager fm, int behavior) {
super(fm, behavior);
}
@Override
public Fragment getItem(int position) {
Fragment result = new DummyFragment();
return result;
}
@Override
public int getCount() {
return 5;
}
}
Constructor 생성시 behvior에 'BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT'를 추가해주면 된다.
Reference
https://stackoverflow.com/questions/51131172/fragmentstatepageradapter-is-deprecated-from-api-27
[Android] 프로젝트의 Deprecated API 확인 방법 (0) | 2020.04.20 |
---|---|
[Android] 'getDrawable(int)' is deprecated as of API 22: Android 5.1 (Lollipop) (0) | 2020.04.20 |
[Android] Display 사이즈 가져오기 & getWidth() is deprecated as of API 15: Android 4.0.3 (IceCreamSandwich) (0) | 2020.04.20 |
[Android] 지문인식 기능 변천사 정리 (0) | 2019.12.31 |
[Android] 화면 제어 (Screen orientation) & 스크린 회전 변경 방법 (0) | 2019.11.28 |
Activity에서 Display 사이즈를 가져오는 방법이다.
int getDisplayWidth(Activity activity){
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
return metrics.widthPixels;
}
Display 클래스의 getWidth 메소드는 API Level 13부터 deprecated되었고 getSize 메소드를 사용해야한다.
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
int getDisplayWidth(Context context){
int width=0;
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
if(Build.VERSION.SDK_INT>12){
Point size = new Point();
display.getSize(size);
width = size.x;
}
else{
width = display.getWidth(); // Deprecated
}
return width;
}
[Android] 'getDrawable(int)' is deprecated as of API 22: Android 5.1 (Lollipop) (0) | 2020.04.20 |
---|---|
[Android] FragmentStatePagerAdapter is deprecated from API 27 (1) | 2020.04.20 |
[Android] 지문인식 기능 변천사 정리 (0) | 2019.12.31 |
[Android] 화면 제어 (Screen orientation) & 스크린 회전 변경 방법 (0) | 2019.11.28 |
[Android] 드래그로 움직일 수 있는 FloatingActionButton (0) | 2019.11.22 |