Android Jetpack 104

Coroutine - 3 (Room + Coroutine)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 자 이번에는 이전에 했던 Room을 좀 더 발전시켜보겠습니다. https://philosopher-chan.tistory.com/1483 Android Room - 5 (Room + ViewModel + ViewModelScope + LiveData) 개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee Room을 이전에 배운 ViewModel과 LiveData를 이용해서 함께 사용해보도록 하겠습니다. 여기. philosopher-chan.tistory.com 아래와 같이 매우 간단한 ..

Android Jetpack 2022.02.27

Coroutine - 2 (Dispatchers)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee Dispatchers라는 애를 코루틴을 사용하다보면 보게 됩니다. 얘가 뭐냐하면 이전에 봤던 애인데 Dispatchers.IO라고 나와있습니다. 얘가 뭔지 공식문서를 찾아보면 아래와 같이 나와있습니다. 여기 보면 Dispatchers.IO 라고 나와있습니다. 찾아보면 운행관리원/배치담당자 라고 나왔는데, 뭘 관리하냐라고 하면 당연히 코루틴을 관리합니다. 어떻게 관리하는지는 아래의 블로그를 한번 참고해보시면 더 좋을 것 같습니다. https://kotlinworld.com/141?category=954901 [Coroutine] 3. Coroutine의 Dispatche..

Android Jetpack 2022.02.22

Coroutine - 1 (Coroutine이란?)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 코루틴에 대해서 한번 알아보겠습니다. 코루틴을 처음 봤을 때가 생각이 나는데, 처음 보는 느낌은 그냥 쓰레드인데? 백그라운드 작업 할 때 쓰라는건가? 라는 생각이었습니다. 찾아보면 light-weight Thread고 쓰레드보다 자원을 아껴쓴다 뭐 이렇게 나와있습니다. 아니 뭐 자원을 아껴쓰고 어쩌고 하면 좋은 건데... 라고 하는건데 쓰면 좋다는건 알겠는데 뭔가 와닿지가 않고 여기까지 오면 성능 그거 조금 좋아져봤자 뭐 크게 달라지는거 있나? 라는 생각이 들 수 있습니다. 자, 그렇다면 좀 더 와닿는 예제를 한번 해볼까요? 기존의 쓰레드를 이용한 예제를 한번 해보겠습..

Android Jetpack 2022.02.20

Jetpack Navigation - 6 (Animation)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 간단한 Navigation Animation에 대해서 알아보겠습니다. 여기 보면 enterAnim exitAnim popEnterAnim popExitAnim 이렇게 4개 있습니다. 하나씩 살펴보면 A / B Fragment가 있다고 생각하면 enterAnim A -> B 로 갈 때 B가 보이는 방식 exitAnim A -> B 로 갈 때 A가 가사라지는 방식 popEnterAnim 뒤로가기로 B -> A로 갈 때 A가 나타나는 방식 popExitAnim 뒤로가기로 B -> A로 갈 때 B가 사라지는 방식 으로 설명할 수 있습니다.

Android Jetpack 2022.02.19

Jetpack Navigation - 5 (Safe Args)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee Navigation에서 Fragment끼리 데이터를 전달하는 방법에 대해 Bundle에 대해서 알아봤습니다. 그런데 공식문서에서는 Safe Args를 이용하는 것에 대해서 나와있습니다. 왜 기존 Bundle을 계속 이용하면 되지 Safe Args를 사용하는 것일까요? 이에 대해 잘 설명해놓은 글이 있습니다. https://www.raywenderlich.com/19327407-using-safe-args-with-the-android-navigation-component Using Safe Args With the Android Navigation Component I..

Android Jetpack 2022.02.19

Jetpack Navigation - 4 (Data Transfer)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 데이터 전달하는 방법을 해보겠습니다. 뒤에 방법을 한번 더 설명하겠지만, 일단 bundle을 이용하는 방법을 해보겠습니다. Navigation 이동시켜주는 부분과 받는 부분을 조금만 수정해주면 됩니다. 이동시켜주는 부분에서 데이터를 보냅니다. val bundle = Bundle() bundle.putString("key","value") Navigation.findNavController(view).navigate(R.id.action_blankFragment1_to_blankFragment2, bundle) 그리고 받아주는 부분에 아래와 같이 받아주면 됩니다. val..

Android Jetpack 2022.02.19

Jetpack Navigation - 3 (Fragment Back Button Event)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 이번에는 사용자가 버튼을 클릭하는게 아니라 BackButton이벤트를 감지해서 Fragment Navigation에서 이동하는 것을 해보겠습니다. 아래와 같이 Fragment1,2,3을 구성해줬고, 그래프를 그려줬습니다. 여기에서 Fragment3에서 backbutton event를 감지해서 Fragment1로 가도록 코드를 작성해주겠습니다. Fragment3을 아래와 같이 작성하시면 됩니다. onAttach부분에 아래와 같이 작성해도 됩니다. override fun onAttach(context: Context) { super.onAttach(context) val ..

Android Jetpack 2022.02.19

Jetpack Navigation - 2 (Navigation Graph Simple Example)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee Navigation에 대해서 알아보겠습니다. 기존의 Transaction 과 다른 방법으로 구현을 해보겠습니다. 구글 공식문서를 보면, 아래와 같이 그래프가 나와있습니다. 자, 이것들을 이용해서 Fragment1 Fragment2 로 이동하는 코드를 한번 만들어볼까요? 아래와 같이 리소스 파일을 만들어주고 MainActivity 레이아웃부분을 아래와 같이 하고 Fragment부분을 아래와 같이 해주면 됩니다. - 참조 https://developer.android.com/guide/navigation/navigation-getting-started 탐색 구성요소 시작하..

Android Jetpack 2022.02.16

Jetpack Navigation - 1 (Navigation이란? / 기존 Fragment Transaction)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 안드로이드 네비게이션(Navigation)에 대해서 알아보겠습니다. 구글에서는 아래와 같이 설명하고 있습니다. 탐색은 사용자가 앱 내의 여러 콘텐츠를 탐색하고, 그곳에 들어갔다 나올 수 있게 하는 상호작용을 의미합니다. Android Jetpack의 탐색 구성요소는 단순한 버튼 클릭해서 좀 더 복잡한 패턴(앱바, 탐색 창)에 이르기까지 여러 가지 탐색을 구현하도록 도와줍니다. 프래그먼트 트랜잭션 처리. 기본적으로 '위로'와 '뒤로' 작업을 올바르게 처리. 애니메이션과 전환에 표준화된 리소스 제공. 딥 링크 구현 및 처리. 최소한의 추가 작업으로 탐색 UI 패턴(예: 탐..

Android Jetpack 2022.02.16

Simple Coroutine - 3 (ViewModelScope)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 이전에 코루틴은 JETPACK 항목들과 함께 사용할 수 있다고 말씀드렸습니다. 그렇다면 Lifecycle 즉 ViewModel과 어떻게 사용되는지 한번 살펴보겠습니다. 일단 코루틴과 lifecycle-viewmodel을 gradle에 넣어주고 한번 시작해보겠습니다. implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0" 간단하게 MainActivity를 만들었습니다. SecondA..

Android Jetpack 2022.02.14