안 드 로 이 드 X 가 뭔 지 자꾸 들 려 요.

4376 단어 AndroidX
안 드 로 이 드 기술 의 교체 가 빠 르 고 각종 새로운 기술 과 명사 도 끊임없이 등장 한다.언제 부터 안 드 로 이 드 X 라 는 명 사 를 자주 들 었 을 까?또 무슨 신기 술 일 까?많은 친구 들 도 이런 의혹 이 있 을 것 이 라 고 믿 습 니 다.그럼 오늘 은 과학 보급 글 을 써 서 안 드 로 이 드 X 의 전생 을 소개 하 겠 습 니 다.

안 드 로 이 드 시스템 이 출시 되 었 을 때 디자이너 조차 이렇게 성공 할 줄 몰 랐 을 수도 있 기 때문에 처음부터 API 를 주도면밀 하 게 고려 할 수도 없다.안 드 로 이 드 시스템 버 전이 계속 업데이트 되면 서 버 전 마다 새로운 API 가 많이 들 어가 지만 새로 추 가 된 API 는 기 존 시스템 에 존재 하지 않 기 때문에 아래로 호 환 되 는 문제 가 발생 했다.
예 를 들 어 안 드 로 이 드 시스템 이 3.0 버 전 으로 출시 됐 을 때 갑자기 태 블 릿 PC 의 중요성 을 깨 달 았 기 때문에 안 드 로 이 드 가 태 블 릿 을 더 잘 호 환 할 수 있 도록 안 드 로 이 드 팀 은 3.0 시스템(API 11)에 프 래 그 먼 트 기능 을 추가 했다.그러나 Fragment 의 역할 은 평판 에 만 국한 되 는 것 이 아니 라 예전 의 오래된 시스템 에서 도 이 기능 을 사용 하려 면 어떻게 해 야 합 니까?그래서 안 드 로 이 드 팀 은 아래로 호 환 되 는 기능 을 제공 하 는 유명한 안 드 로 이 드 서 포트 라 이브 러 리 를 출시 했다.예 를 들 어 우리 모두 가 알 고 있 는 슈퍼 port-v4 라 이브 러 리,appcompat-v7 라 이브 러 리 는 모두 Android Support Library 에 속 합 니 다.이 두 라 이브 러 리 는 Android 개발 을 한 사람 이 모두 사용 했다 고 믿 습 니 다.
하지만 많은 사람들 이 슈퍼 port-v4 라 이브 러 리 의 이름 이 무슨 뜻 인지 고려 하지 않 았 을 것 입 니 다.여기 서 설명 하 겠 습 니 다.4.여기 서 안 드 로 이 드 API 버 전 번 호 를 말 하 는데 대응 하 는 시스템 버 전 은 1.6 이다.그러면 슈퍼 port-v4 는 이 라 이브 러 리 에서 제공 하 는 API 가 Android 1.6 시스템 으로 아래로 호 환 된다 는 뜻 이다.해당 하 는 가방 이름 은 다음 과 같 습 니 다.

이와 유사 하 게 appcompat-v7 은 라 이브 러 리 에서 제공 하 는 API 를 API 7,즉 Android 2.1 시스템 으로 아래로 호 환 하 는 것 을 말한다.해당 하 는 가방 이름 은 다음 과 같 습 니 다.

Android Support Library 에서 제공 하 는 라 이브 러 리 의 가방 이름 은 모두 android.support.*로 시작 합 니 다.
그러나 시간 이 지 날수 록 어떤 1.6,2.1 시스템 은 이미 도태 되 었 고 현재 안 드 로 이 드 가 공식 적 으로 지원 하 는 최저 시스템 버 전 은 4.0.1 이 며 해당 하 는 API 버 전 번 호 는 15 이다.슈퍼 port-v4,appcompat-v7 라 이브 러 리 도 그렇게 오래된 시스템 을 지원 하지 않 지만 그들의 이름 은 계속 남아 있 습 니 다.비록 현재 의 실제 역할 은 당초 이름 을 지은 이유 에 맞지 않 지만.
그러면 안 드 로 이 드 팀 도 이러한 이름 이 매우 적합 하지 않다 는 것 을 깨 닫 고 이 API 의 구 조 를 다시 구분 하여 안 드 로 이 드 X 를 출시 했다.따라서 AndroidX 는 본질 적 으로 안 드 로 이 드 서 포트 라 이브 러 리 에 대한 업그레이드 이 고 업그레이드 내용 은 주로 다음 과 같은 두 가지 측면 에 있다.
첫째,가방 이름.이전에 Android Support Library 의 API 는 모두 android.support.*아래 에 있 었 고 AndroidX 라 이브 러 리 의 모든 API 패키지 이름 은 androidx.*아래 에 있 었 습 니 다.이것 은 매우 큰 변화 입 니 다.앞으로 안 드 로 이 드.*패키지 아래 의 API 는 모두 안 드 로 이 드 운영 체제 에 따라 발 표 된 것 이 고 안 드 로 이 드 x.*패키지 아래 의 API 는 모두 확장 라 이브 러 리 에 따라 발 표 된 것 입 니 다.이런 API 는 운영 체제 의 구체 적 인 버 전에 의존 하지 않 습 니 다.
둘째,명명 규칙.이전 명명 규칙 의 단점 을 받 아들 여 AndroidX 모든 라 이브 러 리 의 명명 규칙 에는 구체 적 인 운영 체제 API 버 전 번호 가 더 이상 포함 되 지 않 습 니 다.예 를 들 어 appcompat-v7 라 이브 러 리 처럼 AndroidX 에서 appcompat 라 이브 러 리 가 됩 니 다.
AndroidX 의 완전한 의존 라 이브 러 리 형식 은 다음 과 같 습 니 다.

implementation 'androidx.appcompat:appcompat:1.0.2'
안 드 로 이 드 X 가 뭔 지 알 고 나 면 이제 편 하 겠 지?그것 은 사실 새로운 것 이 아니 라 Android Support Library 에 대한 업그레이드 이다.그 렇 기 때문에 AndroidX 는 손 에 넣 어도 어 려 운 점 이 없다.예 를 들 어 예전 에 자주 사 용 했 던 RecyclerView,ViewPager 등 라 이브 러 리 는 AndroidX 에서 해당 하 는 버 전이 있 는데 가방 이름 만 바 꾸 면 빈 틈 없 이 사용 할 수 있 고 사용법 에 있어 서 대체적으로 변화 가 없다.
그러나 주의해 야 할 것 은 AndroidX 와 Android Support Library 의 라 이브 러 리 는 혼합 해서 사용 하 는 것 을 권장 하지 않 습 니 다.호 환 되 지 않 는 문제 가 많이 발생 할 수 있 기 때 문 입 니 다.가장 좋 은 방법 은 Android X 의 라 이브 러 리 를 모두 사용 하거나 Android Support Library 의 라 이브 러 리 를 모두 사용 하 는 것 이다.
현재 안 드 로 이 드 팀 의 공식 적 인 태도 도 명확 하 다.앞으로 안 드 로 이 드 X 를 위주 로 할 것 이다.안 드 로 이 드 서 포트 라 이브 러 리 는 더 이상 사용 을 권장 하지 않 고 유지 보 수 를 천천히 중단 할 것 이다.또한 Android Studio 3.4.2 를 시작 으로 새로 만 든 프로젝트 가 AndroidX 구 조 를 사용 하도록 강제 선택 한 것 을 발 견 했 습 니 다.

그렇다면 오래된 프로젝트 의 이전 은 어떻게 해 야 할 까?가방 이름 변경 과 관련 되 어 있 기 때문에 Android Support Library 에서 AndroidX 로 업그레이드 하려 면 모든 파일 의 가방 이름 을 수 동 으로 바 꿔 야 합 니 다.정말 고 쳐 야 합 니 다.이 를 위해 Android Studio 는 프로젝트 이름 을 우 클릭→Refactor→Migrate to AndroidX 하면 다음 그림 과 같은 창 이 팝 업 됩 니 다.

여기 서 Migrate 를 누 르 면 Android Studio 는 프로젝트 에서 Android Support Library 를 사용 하 는 모든 곳 을 자동 으로 검사 하고 이 를 모두 AndroidX 에 대응 하 는 라 이브 러 리 로 변경 합 니 다.또한 Android Studio 는 이전 코드 에 문제 가 생 겨 도 언제든지 이전 코드 를 복원 할 수 있 도록 원래 프로젝트 를 zip 파일 로 백업 합 니 다.
안 드 로 이 드 X 가 무엇 인지,안 드 로 이 드 X 가 무엇 인지 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.안 드 로 이 드 X 가 무엇 인지 에 관 한 더 많은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기