Android Support Library란?

조영규의 블로그

2016. 6. 2. 02:28 from Develop


Edit

티스토리 android 안드로이드 support library 서포트 라이브러리

Android Support Library란?

안드로이드 Support 라이브러리는 프레임워크가 제공하지 않는 기능들을 제공한다. 본 라이브러리는 새 기능의 하휘 호환을 제공하며, 유용한 UI 엘리먼트들과 앱을 위한 다양한 유틸리티를 제공한다.

개괄

한 기능은 많은 경우 다른 많은 앱 개발자들에게도 중요한 경우가 많은데, 안드로이드 프레임워크는 이런 것들을 제대로 포함하고 있지 않다. 예를들어 자연스러운 안드로이드 버전별 대응 같은 것들이 바로 그것이다.

이를 위해 안드로이드 SDK는 다양한 라이브러리들을 포함하고 있다. 그것이 바로 Android Support Library다. 앱 개발자들은 해당 기능들이 필요할 때 이런 라이브러리를 추가할 수 있다.

Support 라이브러리가 제공하는 특징적인 기능이다.

  • 하위호환성
  • UI 엘리먼트의 구현에서 안드로이드가 추천하는 레이아웃 패턴 사용
  • 다른 form factor들에 대한 지원
  • 다양한 유틸리티 함수

하위 호환성이란?

Support 라이브러리는 옛날 버전의 안드로이드 플랫폼을 최신 버전처럼 잘 지원할 수 있게 한다. 예를들어 앱이 5.0 버전(API level 21)보다 낮은 API 레벨에서 돌 때, 원래는 material 디자인이 아니지만 만약 앱이 support 라이브러리의 appcompat library를 쓴다면, 앱은 API 레벨 21이 제공하는 많은 기능들을 쓸 수 있을 뿐만 아니라, material 디자인으로 표현될 수 있다. 그 결과 앱은 좀 더 일관적인 경험을 플랫폼 버전을 뛰어넘으며 제공할 수 있다.

support라이브러리는 최대한 프레임워크에 의존해 동작하려 노력한다. 그러나 상황이 여의치않은 낮은 API 레벨에서는 스스로 동작하여 해당 동작을 수행한다. 일반적으로 ...Compat으로 끝나는 친구들이 이런 역할을 하는 친구들이다. 예를들어 ActivityCompat같은.

어떤 경우에는 support라이브러리가 어떠한 프레임워크 API 도움 없이 스스로 동작하는 경우도 있다. 이런 메소드는 모든 지원하는 플렛폼에서 일관되게 작동한다.

어떤 경우든, 앱은 런타임 때 시스템의 버전을 체크할 필요가 없다. 앱은 support라이브러리에 의존하면 되며, 알아서 시스템 상태를 체크해 동작해 줄 것이다.

아래 그림을 보면, 안드로이드 4.4에서 동작하는 화면이다. 원래 안드로이드 4.4는 material 디자인을 지원하지 않지만, support library UI 엘리먼트가 만들어 준다.

일반적인 레이아웃 패턴의 지원

support 라이브러리는 안드로이드 프레임워크가 지원하지 않는 사용자 인터페이스를 지원한다. 예를들면 DrawerLayout같은 것이 그것이다. 이러한 클레스들은 안드로이드 디자인 practice들에서 권장되는 것을 따른다.

이러한 support라이브러리가 지원하는 것들의 사용으로 인해 바퀴를 또 발명하는 일 따위를 안해도 된다! 까다로운 UI가 필요하다면, 당신은 이미 있는, 사용자가 친숙한 UI 인터페이스를 제공하는 support 라이브러리의 코드를 사용해 제작하면 된다. 예를 들어 많은 앱들이 엄청난 리스트를 빠르고 효과적으로 엘리먼트를 재사용하며 보여주길 원하는데, 이를 위해 support라이브러리는 RecyclerView를 제공한다!

다른 Form Factor들에 대한 지원

안드로이드 SDK는 TV나 웨어러블 같은 다른 form factor도 지원한다. 앱은 컨텐츠를 외부 스크린에 제공한다거나, 혹은 스피커에 제공한다거나, 혹은 다른 디바이스에 전송하는 등의 기능등을 적절한 support 라이브러리를 이용해 넓은 범위의 안드로이드 시스템을 커버할 수 있다.

유용한 유틸리티의 제공

안드로이드 support라이브러리는 하위 호환성을 가진 유틸리티들을 제공한다. 앱들은 적절한 사용자 경험을 제공하는 이러한 유틸리티를 모든 안드로이드 시스템에서 사용할 수 있다. 예를들어 support 라이브러리는 퍼미션 메소드들은 어떤 플랫폼 버전인지에 맞춰 적절하게 동작한다. 만약 플랫폼이 Runtime Permission Model을 지원한다면, 이러한 메소드들은 적절한 퍼미션을 유저에게 요청할 것이며, 그게 아닌 경우, 메소드는 적절한 퍼미션을 install time에 체크해 grant할 것이다.

@%5B%uD2F0%uC2A4%uD1A0%uB9AC%2Candroid%2C%uC548%uB4DC%uB85C%uC774%uB4DC%2Csupport%20library%2C%uC11C%uD3EC%uD2B8%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%5D%0A%0A%23%20Android%20Support%20Library%uB780%3F%0A%0A%uC548%uB4DC%uB85C%uC774%uB4DC%20Support%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uD504%uB808%uC784%uC6CC%uD06C%uAC00%20%uC81C%uACF5%uD558%uC9C0%20%uC54A%uB294%20%uAE30%uB2A5%uB4E4%uC744%20%uC81C%uACF5%uD55C%uB2E4.%20%uBCF8%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uC0C8%20%uAE30%uB2A5%uC758%20%uD558%uD718%20%uD638%uD658%uC744%20%uC81C%uACF5%uD558%uBA70%2C%20%uC720%uC6A9%uD55C%20UI%20%uC5D8%uB9AC%uBA3C%uD2B8%uB4E4%uACFC%20%uC571%uC744%20%uC704%uD55C%20%uB2E4%uC591%uD55C%20%uC720%uD2F8%uB9AC%uD2F0%uB97C%20%uC81C%uACF5%uD55C%uB2E4.%0A%0A%23%20%uAC1C%uAD04%0A%0A%uD55C%20%uAE30%uB2A5%uC740%20%uB9CE%uC740%20%uACBD%uC6B0%20%uB2E4%uB978%20%uB9CE%uC740%20%uC571%20%uAC1C%uBC1C%uC790%uB4E4%uC5D0%uAC8C%uB3C4%20%uC911%uC694%uD55C%20%uACBD%uC6B0%uAC00%20%uB9CE%uC740%uB370%2C%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uD504%uB808%uC784%uC6CC%uD06C%uB294%20%uC774%uB7F0%20%uAC83%uB4E4%uC744%20%uC81C%uB300%uB85C%20%uD3EC%uD568%uD558%uACE0%20%uC788%uC9C0%20%uC54A%uB2E4.%20%uC608%uB97C%uB4E4%uC5B4%20%uC790%uC5F0%uC2A4%uB7EC%uC6B4%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uBC84%uC804%uBCC4%20%uB300%uC751%20%uAC19%uC740%20%uAC83%uB4E4%uC774%20%uBC14%uB85C%20%uADF8%uAC83%uC774%uB2E4.%0A%0A%uC774%uB97C%20%uC704%uD574%20%uC548%uB4DC%uB85C%uC774%uB4DC%20SDK%uB294%20%uB2E4%uC591%uD55C%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB4E4%uC744%20%uD3EC%uD568%uD558%uACE0%20%uC788%uB2E4.%20%uADF8%uAC83%uC774%20%uBC14%uB85C%20%60Android%20Support%20Library%60%uB2E4.%20%uC571%20%uAC1C%uBC1C%uC790%uB4E4%uC740%20%uD574%uB2F9%20%uAE30%uB2A5%uB4E4%uC774%20%uD544%uC694%uD560%20%uB54C%20%uC774%uB7F0%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB97C%20%uCD94%uAC00%uD560%20%uC218%20%uC788%uB2E4.%0A%0A%60Support%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%60%uAC00%20%uC81C%uACF5%uD558%uB294%20%uD2B9%uC9D5%uC801%uC778%20%uAE30%uB2A5%uC774%uB2E4.%0A%0A-%20%uD558%uC704%uD638%uD658%uC131%0A-%20UI%20%uC5D8%uB9AC%uBA3C%uD2B8%uC758%20%uAD6C%uD604%uC5D0%uC11C%20%uC548%uB4DC%uB85C%uC774%uB4DC%uAC00%20%uCD94%uCC9C%uD558%uB294%20%uB808%uC774%uC544%uC6C3%20%uD328%uD134%20%uC0AC%uC6A9%0A-%20%uB2E4%uB978%20form%20factor%uB4E4%uC5D0%20%uB300%uD55C%20%uC9C0%uC6D0%0A-%20%uB2E4%uC591%uD55C%20%uC720%uD2F8%uB9AC%uD2F0%20%uD568%uC218%0A%0A%23%20%uD558%uC704%20%uD638%uD658%uC131%uC774%uB780%3F%0A%0ASupport%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uC61B%uB0A0%20%uBC84%uC804%uC758%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uD50C%uB7AB%uD3FC%uC744%20%uCD5C%uC2E0%20%uBC84%uC804%uCC98%uB7FC%20%uC798%20%uC9C0%uC6D0%uD560%20%uC218%20%uC788%uAC8C%20%uD55C%uB2E4.%20%uC608%uB97C%uB4E4%uC5B4%20%uC571%uC774%205.0%20%uBC84%uC804%28API%20level%2021%29%uBCF4%uB2E4%20%uB0AE%uC740%20API%20%uB808%uBCA8%uC5D0%uC11C%20%uB3CC%20%uB54C%2C%20%uC6D0%uB798%uB294%20material%20%uB514%uC790%uC778%uC774%20%uC544%uB2C8%uC9C0%uB9CC%20%uB9CC%uC57D%20%uC571%uC774%20%60support%60%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uC758%20%60appcompat%20library%60%uB97C%20%uC4F4%uB2E4%uBA74%2C%20%uC571%uC740%20API%20%uB808%uBCA8%2021%uC774%20%uC81C%uACF5%uD558%uB294%20%uB9CE%uC740%20%uAE30%uB2A5%uB4E4%uC744%20%uC4F8%20%uC218%20%uC788%uC744%20%uBFD0%uB9CC%20%uC544%uB2C8%uB77C%2C%20material%20%uB514%uC790%uC778%uC73C%uB85C%20%uD45C%uD604%uB420%20%uC218%20%uC788%uB2E4.%20%uADF8%20%uACB0%uACFC%20%uC571%uC740%20%uC880%20%uB354%20%uC77C%uAD00%uC801%uC778%20%uACBD%uD5D8%uC744%20%uD50C%uB7AB%uD3FC%20%uBC84%uC804%uC744%20%uB6F0%uC5B4%uB118%uC73C%uBA70%20%uC81C%uACF5%uD560%20%uC218%20%uC788%uB2E4.%0A%0A%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uCD5C%uB300%uD55C%20%uD504%uB808%uC784%uC6CC%uD06C%uC5D0%20%uC758%uC874%uD574%20%uB3D9%uC791%uD558%uB824%20%uB178%uB825%uD55C%uB2E4.%20%uADF8%uB7EC%uB098%20%uC0C1%uD669%uC774%20%uC5EC%uC758%uCE58%uC54A%uC740%20%uB0AE%uC740%20API%20%uB808%uBCA8%uC5D0%uC11C%uB294%20%uC2A4%uC2A4%uB85C%20%uB3D9%uC791%uD558%uC5EC%20%uD574%uB2F9%20%uB3D9%uC791%uC744%20%uC218%uD589%uD55C%uB2E4.%20%uC77C%uBC18%uC801%uC73C%uB85C%20%60...Compat%60%uC73C%uB85C%20%uB05D%uB098%uB294%20%uCE5C%uAD6C%uB4E4%uC774%20%uC774%uB7F0%20%uC5ED%uD560%uC744%20%uD558%uB294%20%uCE5C%uAD6C%uB4E4%uC774%uB2E4.%20%uC608%uB97C%uB4E4%uC5B4%20%60ActivityCompat%60%uAC19%uC740.%0A%0A%uC5B4%uB5A4%20%uACBD%uC6B0%uC5D0%uB294%20%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uAC00%20%uC5B4%uB5A0%uD55C%20%uD504%uB808%uC784%uC6CC%uD06C%20API%20%uB3C4%uC6C0%20%uC5C6%uC774%20%uC2A4%uC2A4%uB85C%20%uB3D9%uC791%uD558%uB294%20%uACBD%uC6B0%uB3C4%20%uC788%uB2E4.%20%uC774%uB7F0%20%uBA54%uC18C%uB4DC%uB294%20%uBAA8%uB4E0%20%uC9C0%uC6D0%uD558%uB294%20%uD50C%uB81B%uD3FC%uC5D0%uC11C%20%uC77C%uAD00%uB418%uAC8C%20%uC791%uB3D9%uD55C%uB2E4.%0A%0A%uC5B4%uB5A4%20%uACBD%uC6B0%uB4E0%2C%20%uC571%uC740%20%uB7F0%uD0C0%uC784%20%uB54C%20%uC2DC%uC2A4%uD15C%uC758%20%uBC84%uC804%uC744%20%uCCB4%uD06C%uD560%20%uD544%uC694%uAC00%20%uC5C6%uB2E4.%20%uC571%uC740%20%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uC5D0%20%uC758%uC874%uD558%uBA74%20%uB418%uBA70%2C%20%uC54C%uC544%uC11C%20%uC2DC%uC2A4%uD15C%20%uC0C1%uD0DC%uB97C%20%uCCB4%uD06C%uD574%20%uB3D9%uC791%uD574%20%uC904%20%uAC83%uC774%uB2E4.%0A%0A%uC544%uB798%20%uADF8%uB9BC%uC744%20%uBCF4%uBA74%2C%20%uC548%uB4DC%uB85C%uC774%uB4DC%204.4%uC5D0%uC11C%20%uB3D9%uC791%uD558%uB294%20%uD654%uBA74%uC774%uB2E4.%20%uC6D0%uB798%20%uC548%uB4DC%uB85C%uC774%uB4DC%204.4%uB294%20material%20%uB514%uC790%uC778%uC744%20%uC9C0%uC6D0%uD558%uC9C0%20%uC54A%uC9C0%uB9CC%2C%20%60support%20%60%20library%20UI%20%uC5D8%uB9AC%uBA3C%uD2B8%uAC00%20%uB9CC%uB4E4%uC5B4%20%uC900%uB2E4.%0A%0A%21%5BAlt%20text%5D%28./1464798952063.png%29%0A%0A%0A%23%20%uC77C%uBC18%uC801%uC778%20%uB808%uC774%uC544%uC6C3%20%uD328%uD134%uC758%20%uC9C0%uC6D0%0A%0A%60support%60%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uD504%uB808%uC784%uC6CC%uD06C%uAC00%20%uC9C0%uC6D0%uD558%uC9C0%20%uC54A%uB294%20%uC0AC%uC6A9%uC790%20%uC778%uD130%uD398%uC774%uC2A4%uB97C%20%uC9C0%uC6D0%uD55C%uB2E4.%20%uC608%uB97C%uB4E4%uBA74%20%60DrawerLayout%60%uAC19%uC740%20%uAC83%uC774%20%uADF8%uAC83%uC774%uB2E4.%20%uC774%uB7EC%uD55C%20%uD074%uB808%uC2A4%uB4E4%uC740%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uB514%uC790%uC778%20practice%uB4E4%uC5D0%uC11C%20%uAD8C%uC7A5%uB418%uB294%20%uAC83%uC744%20%uB530%uB978%uB2E4.%0A%0A%uC774%uB7EC%uD55C%20%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uAC00%20%uC9C0%uC6D0%uD558%uB294%20%uAC83%uB4E4%uC758%20%uC0AC%uC6A9%uC73C%uB85C%20%uC778%uD574%20%uBC14%uD034%uB97C%20%uB610%20%uBC1C%uBA85%uD558%uB294%20%uC77C%20%uB530%uC704%uB97C%20%uC548%uD574%uB3C4%20%uB41C%uB2E4%21%20%uAE4C%uB2E4%uB85C%uC6B4%20UI%uAC00%20%uD544%uC694%uD558%uB2E4%uBA74%2C%20%uB2F9%uC2E0%uC740%20%uC774%uBBF8%20%uC788%uB294%2C%20%uC0AC%uC6A9%uC790%uAC00%20%uCE5C%uC219%uD55C%20UI%20%uC778%uD130%uD398%uC774%uC2A4%uB97C%20%uC81C%uACF5%uD558%uB294%20%60support%60%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uC758%20%uCF54%uB4DC%uB97C%20%uC0AC%uC6A9%uD574%20%uC81C%uC791%uD558%uBA74%20%uB41C%uB2E4.%20%uC608%uB97C%20%uB4E4%uC5B4%20%uB9CE%uC740%20%uC571%uB4E4%uC774%20%uC5C4%uCCAD%uB09C%20%uB9AC%uC2A4%uD2B8%uB97C%20%uBE60%uB974%uACE0%20%uD6A8%uACFC%uC801%uC73C%uB85C%20%uC5D8%uB9AC%uBA3C%uD2B8%uB97C%20%uC7AC%uC0AC%uC6A9%uD558%uBA70%20%uBCF4%uC5EC%uC8FC%uAE38%20%uC6D0%uD558%uB294%uB370%2C%20%uC774%uB97C%20%uC704%uD574%20%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%60RecyclerView%60%uB97C%20%uC81C%uACF5%uD55C%uB2E4%21%0A%0A%23%20%uB2E4%uB978%20Form%20Factor%uB4E4%uC5D0%20%uB300%uD55C%20%uC9C0%uC6D0%0A%0A%uC548%uB4DC%uB85C%uC774%uB4DC%20SDK%uB294%20TV%uB098%20%uC6E8%uC5B4%uB7EC%uBE14%20%uAC19%uC740%20%uB2E4%uB978%20form%20factor%uB3C4%20%uC9C0%uC6D0%uD55C%uB2E4.%20%uC571%uC740%20%uCEE8%uD150%uCE20%uB97C%20%uC678%uBD80%20%uC2A4%uD06C%uB9B0%uC5D0%20%uC81C%uACF5%uD55C%uB2E4%uAC70%uB098%2C%20%uD639%uC740%20%uC2A4%uD53C%uCEE4%uC5D0%20%uC81C%uACF5%uD55C%uB2E4%uAC70%uB098%2C%20%uD639%uC740%20%uB2E4%uB978%20%uB514%uBC14%uC774%uC2A4%uC5D0%20%uC804%uC1A1%uD558%uB294%20%uB4F1%uC758%20%uAE30%uB2A5%uB4F1%uC744%20%uC801%uC808%uD55C%20%60support%60%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB97C%20%uC774%uC6A9%uD574%20%uB113%uC740%20%uBC94%uC704%uC758%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uC2DC%uC2A4%uD15C%uC744%20%uCEE4%uBC84%uD560%20%uC218%20%uC788%uB2E4.%20%0A%0A%23%20%uC720%uC6A9%uD55C%20%uC720%uD2F8%uB9AC%uD2F0%uC758%20%uC81C%uACF5%0A%0A%uC548%uB4DC%uB85C%uC774%uB4DC%20%60support%60%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uD558%uC704%20%uD638%uD658%uC131%uC744%20%uAC00%uC9C4%20%uC720%uD2F8%uB9AC%uD2F0%uB4E4%uC744%20%uC81C%uACF5%uD55C%uB2E4.%20%uC571%uB4E4%uC740%20%uC801%uC808%uD55C%20%uC0AC%uC6A9%uC790%20%uACBD%uD5D8%uC744%20%uC81C%uACF5%uD558%uB294%20%uC774%uB7EC%uD55C%20%uC720%uD2F8%uB9AC%uD2F0%uB97C%20%uBAA8%uB4E0%20%uC548%uB4DC%uB85C%uC774%uB4DC%20%uC2DC%uC2A4%uD15C%uC5D0%uC11C%20%uC0AC%uC6A9%uD560%20%uC218%20%uC788%uB2E4.%20%uC608%uB97C%uB4E4%uC5B4%20%60support%60%20%uB77C%uC774%uBE0C%uB7EC%uB9AC%uB294%20%uD37C%uBBF8%uC158%20%uBA54%uC18C%uB4DC%uB4E4%uC740%20%uC5B4%uB5A4%20%uD50C%uB7AB%uD3FC%20%uBC84%uC804%uC778%uC9C0%uC5D0%20%uB9DE%uCDB0%20%uC801%uC808%uD558%uAC8C%20%uB3D9%uC791%uD55C%uB2E4.%20%uB9CC%uC57D%20%uD50C%uB7AB%uD3FC%uC774%20%60Runtime%20Permission%20Model%60%uC744%20%uC9C0%uC6D0%uD55C%uB2E4%uBA74%2C%20%uC774%uB7EC%uD55C%20%uBA54%uC18C%uB4DC%uB4E4%uC740%20%uC801%uC808%uD55C%20%uD37C%uBBF8%uC158%uC744%20%uC720%uC800%uC5D0%uAC8C%20%uC694%uCCAD%uD560%20%uAC83%uC774%uBA70%2C%20%uADF8%uAC8C%20%uC544%uB2CC%20%uACBD%uC6B0%2C%20%uBA54%uC18C%uB4DC%uB294%20%uC801%uC808%uD55C%20%uD37C%uBBF8%uC158%uC744%20install%20time%uC5D0%20%uCCB4%uD06C%uD574%20grant%uD560%20%uAC83%uC774%uB2E4.%0A


comments powered by Disqus
태그, 트랙백, 검색 상자 토글
    1   2   3   4   ···   34     >>