구글은 Android 8.0 O버전을 Oreo로 공식 발표를 했습니다.
이번 포스팅에서는 Oreo에서 추가된 새로운 기능들 중에 몇가지에 대해 소개 하려고 합니다.
- 알림
Android 8.0에서 알림이 크게 변경되었습니다.
알림채널을 사용해 알림을 카테고리화 할 수 있습니다.
이 기능을 사용하면 사용자는 카테고리별로 소리, 진동, 알림의 중요도를 관리할 수 있습니다.
그리고 기존에 알림의 on/off을 카테고리별로 지정할 수 있기 때문에 사용자는 자신이 받고싶은 알람만 받을 수 있습니다.
알림뱃지를 사용해 사용자가 아직 반응하지 않은 알림을 앱 아이콘을 통해 보여줍니다.
알림뱃지는 알림 도트라고도 불립니다.
그 외에도 다시알림(Snoozing), 알림제한시간(Timeout), 알림설정(Setting), 알림닫기이벤트(dismissal), 배경색상(Backgournd color), 메시징스타일(Messaging style) 등이 있습니다.
- PIP(Picture-in-Picture) Mode
PIP는 기존에 Android TV에서 제공되던 기능입니다. 주로 동영상 재생에 사용되는 다중창 모드입니다.
PIP는 다중 창 수명 주기를 따라갑니다.
- 다운로드 가능한 폰트(Downloadable Fonts)
Android 8.0과 Android Support Library 26을 사용하면 이 기능을 사용할 수 있습니다.
이 기능을 사용함으로써 얻을 수 있는 이점은 APK size를 줄이고 이로인해 앱 설치 성공률을 올릴 수 있고 동일한 폰트을 여러 앱이 공유할 수 있어서 유저의 데이터, 폰의 저장공간을 절약할 수 있습니다.
이 기능은 Google Play service 버전 11 이상에서만 가능합니다.
개발자 홈페이지는 XML의 글꼴이라 나와있는데 저는 폰트의 Resource화가 더 맞는거 같습니다.
기존에 Android에서 폰트르 적용하기위해 assets폴더 아래에 폰트파일을 넣어서 사용해야 했지만 이제 res폴더 아래 font폴더를 만든 후 폰트 파일을 넣으면 @font나 R.font로 접근할 수 있습니다.
TextView의 크기에 따라 텍스트 사이즈를 자동으로 늘리거나 줄일 수 있습니다.
(출처: https://academy.realm.io/kr/posts/android-oreo-new-features/)
이 기능을 사용하게 되면 사용자에게 더 좋은 시각 적인 효과를 불 수 있습니다.
- 통합 레이아웃 Margin And Padding
이제는 양옆이나 위아래를 동시에 지정 할 수 있는 xml속성이 생겼습니다.
layout_marginTop
과layout_marginBottom
을 동시에 정의하는layout_marginVertical
layout_marginLeft
와layout_marginRight
를 동시에 정의하는layout_marginHorizontal
paddingTop
과paddingBottom
을 동시에 정의하는paddingVertical
paddingLeft
와paddingRight
를 동시에 정의하는paddingHorizontal
하지만 xxxStart xxxEnd에는 영향을 주지 않기 때문에 사용을 할 때 주의해야 합니다.
- findViewById()
기존 findViewById는 View의 type에 맞게 type casting을 해줘야 했지만 이제 findViewById가 View 대신 <T extends View> T를 반환하기 때문에 type casting을 할 필요가 없어졌습니다.
이 외에도 Android 8.0에 추가되고 개선 된 많은 기능들이 있습니다.
더 알고 싶으신 분들은 아래 출처 링크를 타고 더 많은 정보를 얻어보세요.
출처
https://www.android.com/versions/oreo-8-0/
https://developer.android.com/about/versions/oreo/index.html
https://android-developers.googleblog.com/2017/08/introducing-android-8-oreo.html
https://academy.realm.io/kr/posts/android-oreo-new-features/
'Android > Android' 카테고리의 다른 글
(Android) DataBinding Two Way Binding (0) | 2017.10.24 |
---|---|
(Android) 간단한 selection popup 만들기 (0) | 2017.08.25 |
(Android) 앱 초기 로딩화면으로 스플래시 화면 만들기 (2) | 2017.08.20 |
(Android) RealmTransformer doesn't seem to be applied + Retrolambda 추가하기 (0) | 2017.08.17 |
(Realm) RealmObject 상속으로 인한 모델 구조 변경 (0) | 2017.08.16 |