Deperecated/Android_Weekly

<2020.04.12> Android_Weekly #408

누알라리 2020. 4. 12. 16:26

1. Orientation, Spanning and Insets

https://devblogs.microsoft.com/surface-duo/orientation-spanning-and-insets/

 

Orientation, Spanning and Insets | Surface Duo Blog

Hello Microsoft Surface Duo Developers! Until recently, mobile devices all had one thing in common: a single screen. While applications had to support multiple screen sizes, recently manufacturers got creative and introduced new foldable, dual-screen devic

devblogs.microsoft.com

멀티윈도우를 위한 어플리케이션 개발에 관한 정보들. (for MS Duo Deveplopers)

 

1-1. 멀티윈도우를 지원하는 App을 위한 Developer 자료

https://developer.android.com/guide/topics/ui/multi-window

 

다중 창 지원  |  Android 개발자  |  Android Developers

New support in Android N for showing more than one app at a time.

developer.android.com

1-2. PIP 모드를 위한 App을 위한 Developer 자료 ( Picture - In - Picture )

https://developer.android.com/guide/topics/ui/picture-in-picture

 

PIP 모드 지원  |  Android 개발자  |  Android Developers

Android 8.0에서는 활동을 PIP 모드로 실행할 수 있습니다.

developer.android.com

1-3. Activity의 size가 변할 때 추적하는 메소드

 onConfigurationChanged

 

Activity  |  Android 개발자  |  Android Developers

 

developer.android.com

1-4. Activity가 분할 화면에서 다른 쪽으로 이동할 때 마다 추적하는 메소드

 addOnLayoutChangeListener

 

View  |  Android 개발자  |  Android Developers

 

developer.android.com

1-5. 키보드의 처리, 레이아웃에 따른 키보드 처리에 관한 Developer 문서

https://developer.android.com/training/keyboard-input/visibility

 

입력 방법 가시성 처리하기  |  Android 개발자  |  Android Developers

입력 포커스가 수정 가능한 텍스트 필드로 이동하거나 이 필드에서 나가면 Android에서는 이에 따라 입력 방법(예: 터치 키보드)을 표시하거나 숨깁니다. 시스템에서는 또한 입력 방법 위에 UI와 텍스트 필드가 표시되는 방식도 결정합니다. 예를 들어 화면의 세로 공간이 제한된 경우 텍스트 필드는 입력 방법 위의 공간을 전부 채울 수 있습니다. 대부분의 앱에 이러한 기본 동작만 있으면 됩니다. 하지만 입력 방법의 가시성을 보다 직접적으로 제어하고 입력 방법

developer.android.com

 

2. Jetpack ViewModel initialization ★

2-1. What is Jetpack?

https://medium.com/coupang-tech/google-i-o-2018-android-jetpack-3da6acc46ba1

 

Google I/O 2018 — Android Jetpack

Google I/O 2018이 5월 8 일부터 3일간 구글 본사가 있는 미국 마운틴뷰에서 개최되었다. 쿠팡에서는 올해도 어김없이 3명의 개발자들이 이 행사에 참석하여 최신 트렌드를 익히고, 구글 개발자들과 교류하는 유익한 시간을 가질 수 있었다…

medium.com

https://developer.android.com/jetpack?hl=ko

 

Android 개발자  |  Android Developers

“Android Jetpack 탐색은 잘 설계되었으며 완전히 구성 가능합니다. 우리는 맞춤 보기를 사용해 기존 탐색 창을 리팩터링하여 모든 안티패턴을 제거할 수 있었습니다. 이제 앱 전체에서 이를 더 광범위하게 채택하려고 합니다.” 에머리 콕스, HomeAway의 Android 담당자

developer.android.com

Google에서 Android 개발할 때 만들기 더욱 편하도록 크게 4개의 구성요소로 이루어진 라이브러리를 선물해쥼.

2-2. Android Jetpack - Achitecture - ViewModel

https://www.rockandnull.com/jetpack-viewmodel-initialization/

 

Jetpack ViewModel initialization

ViewModels in Android Jetpack is an awesome approach for decoupling business logic from Activities/Fragments. But where do you place the initialize logic and how do you pass those initial values when you don't create the object yourself?

www.rockandnull.com

1) 우리가 일반적으로 알고있는 ViewModel은 MVVM패턴 (Model-View-ViewModel)속 ViewModel

->  View를 나타내고자 있는 Model 이자 View에 필요한 Data 처리를 하는 부분

 

2) JetPack에서 제공하는 ViewModel

-> Activity에서 사용하는 Data들을 Activity 사용주기에서 분리시켜 액티비티가 재실행되도 데이터가 소멸하지 않고 오직 Activity가 피니쉬(Finisih()) 될 때만 View Model이 소멸되어 Data가 소멸하게 함.

 

예를 들어서 화면이 로테이션되어 Configuration이 바뀌면 액티비티가 재실행되면서 데이터가 날아가게된다. ViewModel을 사용하면 이를 막을 수 있다.

 

3) JetPack의 ViewModel을 사용하면 한 Activity안에 있는 여러 Fragment 끼리 간 데이터 공유도 손쉽게 가능

 

https://codechacha.com/ko/android-jetpack-viewmodel/

 

Android Jetpack - ViewModel 소개 및 구현 방법 | codechacha

안드로이드 ViewModel는 View에서 사용되는 데이터를 우리가 쉽게 관리하는데 도와줍니다. Jetpack ViewModel은 MVVM 패턴에서 우리가 알고있는 ViewModel과 좀 다릅니다. ViewModel에서 Context를 사용하려면 AndroidViewModel를 사용해야 합니다.

codechacha.com

https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ko

 

ViewModel 개요  |  Android 개발자  |  Android Developers

ViewModel을 사용하면 수명 주기를 인식하는 방식으로 UI 데이터를 관리할 수 있습니다.

developer.android.com

 

3. Jetpack - Paging Library

마리트 과제로 만든 RSS 뉴스리더기에 jsoup때문에 로딩 너무 걸리는데 Paging Library를 통해 시간 개선이 될 수 있을지 훗날 시도해봐야겠다...!

 

https://developer.android.com/topic/libraries/architecture/paging?hl=ko

 

페이징 라이브러리 개요  |  Android 개발자  |  Android Developers

페이징 라이브러리 개요   Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 작은 데이터 청크를 한 번에 로드하여 표시할 수 있습니다. 요청에 따라 일부 데이터를 로드하면 네트워크 대역폭 및 시스템 리소스 사용량을 줄일 수 있습니다. 이 가이드에서는 라이브러리의 몇 가지 개념적인 예를 제공하며 라이브러리의 작동 방식을 개략적으로 설명합니다. 라이브러리 작동 방식의 전체 예를 확인하려면 추가 리소스 섹션의 Codelab 및 샘플을 사용해

developer.android.com

 

https://github.com/android/architecture-components-samples/tree/master/PagingWithNetworkSample

 

android/architecture-components-samples

Samples for Android Architecture Components. . Contribute to android/architecture-components-samples development by creating an account on GitHub.

github.com

 

https://codechacha.com/ko/android-jetpack-paging/

 

Android Jetpack - Paging 소개 및 구현 방법 | codechacha

안드로이드 Paging 라이브러리는 RecyclerView에 데이터를 페이지 단위로 효율적으로 데이터를 로드하고 화면에 출력하도록 도와줍니다. 페이징은 구현하기 귀찮은 리스트뷰를 쉽게 구현할 수 있도록 도와줍니다. DataSource, PagedList, PagedListAdapter, PositionalDataSource 등과 함께 사용됩니다.

codechacha.com

 

'Deperecated > Android_Weekly' 카테고리의 다른 글

<2020.04.17> Android_Weekly #408  (0) 2020.04.17
<2020.04.17> Android_Weekly #408  (0) 2020.04.17
<20.04.14> Android_Weekly #408  (0) 2020.04.14
<2020.04.06> Android_Weekly #408  (0) 2020.04.06