Thumbnail
지식공유자의 깜짝할인 중
BEST
개발 · 프로그래밍 모바일 앱 개발

냉동코더의 알기 쉬운 Modern Android Development 입문 대시보드

(4.9)
18개의 수강평 ∙  298명의 수강생

25%

57,750원

77,000원
지식공유자: 냉동코더
총 46개 수업 (7시간 27분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[모바일 앱 개발] 강의입니다.

이 강의의 목적은 Android Jetpack을 중심으로 한 안드로이드 라이브러리의 동작 원리를 이해하고 앱에 적용하는 법을 알기 쉽게 전달하는 것입니다.

✍️
이런 걸
배워요!
Modern Android Development Skills
MVC, MVP, MVVM의 차이
Jetpack Library의 이론과 사용법
Android Architecture Components의 이론과 사용법
안드로이드 코드의 테스트 자동화

핵심만 간추린 이론을 통해 확실하게 배우고,
실습에서는 바로 앱을 만들어 균형있게 학습해요! 💻

안드로이드 로켓타고
힘차게 출발! 🚀

Jetpack은 구글에서 만든, 개발자들이 쉽고 빠르게 좋은 퀄리티의 애플리케이션을
만들 수 있도록 도와주는 라이브러리와 도구를 모아둔 모음집입니다.

안드로이드 라이브러리의 사용법을 학습하는 가장 좋은 방법은 Google Developers의 공식 문서를 참조하는 것이지만, 설명이 복잡한 경우가 많고 한글 문서는 빠르게 업데이트 되지 않는 경우도 많습니다.

그래서 알기쉬운 안드로이드 강의를 한 번 만들어보기로 했습니다. 이 강의에서는 아키텍처 패턴과 Android Jetpack Library의 사용법, 그리고 의존성 주입과 테스트 자동화에 대한 내용을 다룹니다.


같은 고민이라면
함께해요 😎

안드로이드 앱에 Jetpack과
MVVM를 적용해보고 싶은 분

Google Developers의
공식문서가 이해되지 않는 분

Jetpack 라이브러리
체계적으로 배우고싶은 분


강의가 궁금해요 ✨

이 강의만의 특징

  • 장황한 Google Developers 공식문서에서 핵심만을 간추려 슬라이드로 설명합니다.
  • 라이브러리에 대한 설명이 끝나면 바로 앱을 만드는데 적용해 봅니다.
  • 이론과 실습이 거의 1:1 비중을 가지고 있어 균형있는 학습이 가능합니다.
  • 라이브러리의 구조를 이해하는데 필요하지 않은 코드는 가능한 배제했습니다.
  • 아키텍처 구축과 관련있는 가장 핵심적인 Jetpack 라이브러리를 모두 다룹니다


강의를 들은 후 수강생의 변화 😁

🏃‍♀️ MVC, MVP, MVVM 구조의 차이를 이해하고 앱에 적용할 수 있게 됩니다.

🏃‍♀️ Jetpack 라이브러리의 원리를 이해하고 사용할 수 있게 됩니다.

🏃‍♀️ 의존성 주입 (Dependency Injection)을 이해하고 적용할 수 있게 됩니다.

🏃‍♀️ 테스트 자동화의 중요성과 안드로이드의 코드 테스트 방법을 학습하게 됩니다.


세션별로 하나씩 배워요 🔎

섹션 0 <들어가기>

  • MVC, MVP, MVVM 구조의 차이를 설명하고 Jetpack이 생긴 이유를 알아봅니다.

섹션 1
<Android Architecture Components 이론>

  • AAC인 ViewBinding, ViewModel, Lifecycle, LiveData, DataBinding의 원리와 사용법에 대해 설명합니다. 또 Repository 패턴의 사용법에 대해서도 설명합니다.

섹션 2 <책 검색앱 만들기>

  • 섹션 1에서 배운 내용을 적용하여 책 검색을 하는 앱을 만들어 봅니다.

섹션 3 <보강 이론>

  • 섹션 2에서 앱을 만들때 적용한 기술 중 AAC에 속하지 않는 기술의 이론을 추가적으로 설명합니다.

섹션 4 <Jetpack Navigation>

  • Jetpack Navigation을 앱에 적용하여 화면전환을 하는 방법에 대해 알아봅니다.

섹션 5 <Jetpack Room>

  • Jetpack Room을 앱에 적용하여 SQLite 데이터베이스를 다루는 법에 대해 알아봅니다.

섹션 6 <Kotlin Flow>

  • Live Data 대신 Kotlin Flow를 이용해 UI를 갱신하는 법에 대해 알아봅니다.

섹션 7 <Jetpack DataStore>

  • Shared Preferences 대신 Jetpack DataStore를 이용해 간단한 데이터를 저장하는 법에 대해 알아봅니다.

섹션 8 <Jetpack Paging>

  • Jetpack Paging을 이용해 무한히 스크롤되는 데이터 스트림을 구축하는 법에 대해 알아봅니다.

섹션 9 <Jetpack WorkManager>

  • Jetpack WorkManager를 이용해 백그라운드 작업을 수행하는 법에 대해 알아봅니다.

섹션 10 <Dagger-Hilt>

  • 의존성 주입이 왜 중요한지 설명하고 Hilt로 의존성을 주입하는 법에 대해 알아봅니다.

섹션 11 <Gradle with Kotlin script>

  • Kotlin으로 build.gradle 스크립트를 작성하는 법에 대해 알아봅니다.

섹션 12 <마치며>

  • 지금까지 만들어 본 앱의 MAD Score를 평가해 봅니다.

Appendix <Jetpack Test>

  • 안드로이드의 테스트 자동화에 대해 알아봅니다.

 

예상 질문 Q&A 💬

Q. 왜 이 강의를 들어야 하나요?

Jetpack 라이브러리를 다루는 방법을 정말 알기쉽게 설명해드립니다.

Q. Jetpack Library의 특징은 무엇인가요?

안드로이드를 구조적으로 안전하게 하는 핵심적인 기능을 포함하고 있으며, 구글이 관리하기 때문에 안정적인 유지보수가 이루어지는 중요한 라이브러리입니다.

Q. Jetpack Compose도 설명하시나요?

Jetpack Compose는 정식버전이 된지 얼마 되지않아 아직도 변경이 많이 발생하는 API이므로 이 강의에서는 다루지 않습니다.

Q. 강의를 듣기 전 준비해야 할 것이 있나요?

컴퓨터에 안드로이드 스튜디오를 설치해 주세요. 코틀린의 기본문법을 공부하고 오시면 더 좋습니다.


그 외의 내용

- 소스코드 📑

이 강의에서는 3개의 앱을 만들었습니다.
앱의 소스코드는 제 Github repository에서 다운받으실 수 있습니다. (앱 소스코드 클릭)

  1. Architecture Pattern과 Android App Architecture 강의에서 사용한 앱 소스코드
  2. Part 1. Android Architecture Components 이론에서 사용한 앱 소스코드
  3. 강의 전체에서 제작한 책 검색 앱 소스코드

- 라이브러리 버전 ⚠️

이 강의에서 사용된 안드로이드 라이브러리는 2022/04/25 기준 최신 버전을 채택하였습니다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
MVVM 구조를 앱에 적용하고 싶으신 분
Jetpack 사용법을 쉽게 이해하고 싶으신 분
의존성 주입을 쉽게 이해하고 싶으신 분
테스트 자동화를 왜 해야하는지 이해하고 싶으신 분
📚
선수 지식,
필요할까요?
안드로이드 기초
Kotlin 기초

안녕하세요
냉동코더 입니다.
냉동코더의 썸네일

이해하기 쉬운 개발강의를 만들기 위해 노력하고 있습니다.

 

* 냉동코더의 유튜브

https://www.youtube.com/channel/UC6V7LBEgcoTZUUgUU0Jv3xg

* 냉동코더의 기술블로그

https://cliearl.github.io/

커리큘럼 총 46 개 ˙ 7시간 27분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 들어가기
강좌 소개 미리보기 02:50
Architecture Pattern과 Android App Architecture 12:16
Support Library와 Androidx와 Jetpack 07:37
섹션 1. Android Architecture Components 이론
ViewBinding 기초 미리보기 15:55
ViewModel과 Lifecycle 기초 18:56
LiveData와 Observer Pattern 기초 06:43
DataBinding 기초 09:00
Repository Pattern 기초 06:13
섹션 2. 책 검색 앱 만들기
Practice2A-앱 초기구조 작성하기 (View Binding, BottomNavigationVIew) 10:04
Practice2B-Retrofit으로 카카오 책 검색 API 다루기 (Retrofit, Moshi, OkHttp, Kapt) 미리보기 11:48
Practice2C-Android App Architecture 기반 구축하기 (Repository, ViewModel, Coroutine, Livedata) 04:30
Practice2D-검색결과를 UI에 표시하기 (Coil, ListAdapter, SaveStateHandle) 16:08
섹션 3. 보강 이론
안드로이드의 HTTP 통신 08:32
Data class 기초 05:41
Singleton Pattern 기초 08:22
Coroutine 기초 26:50
ListAdapter 기초 05:40
섹션 4. Jetpack Navigation
Navigation 기초 04:01
Practice4A-Navigation으로 UI의 화면전환 구현하기 (BottomNavigationView, AppBar) 06:55
Practice4B-Safe args로 프래그먼트간 데이터 전달하기 (SafeArgs, Parcelable, WebView) 08:08
섹션 5. Jetpack Room
SQLite와 Room 기초 08:30
Practice5A-검색결과 저장을 위한 Room DB 구현하기 (Entity, Dao, Database, TypeConverter) 07:29
Practice5B-Room DB를 UI와 연동하기 (RecyclerView, ClickListener, SimpleCallback) 09:20
섹션 6. Kotlin Flow
Flow 기초 08:34
Practice6-Room 응답을 flow로 변환하기 (Flow, StateFlow, Extension functions) 06:13
섹션 7. Jetpack DataStore
DataStore 기초 03:34
Practice7-세팅화면 구현하기 (Preferences DataStore, Enum) 09:02
섹션 8. Jetpack Paging
Paging 기초 04:03
Practice8A-Room 응답에 Paging 적용하기 (Pager, PagingDataAdapter) 08:05
Practice8B-Retrofit 응답에 Paging 적용하기 (PagingSource) 08:59
Practice8C-네트워크 로딩 상태 핸들링하기 (LoadState, LoadStateAdapter) 13:54
섹션 9. Jetpack WorkManager
WorkManager 기초 08:45
Practice9-자동 캐시 정리 구현하기 (Worker, WorkRequest, WorkInfo) 12:23
섹션 10. Dagger-Hilt
Dependency Injection 기초 미리보기 12:07
Hilt 기초 06:58
Practice10A-Hilt 의존성 작성하기 (Module, Provides, Binds) 06:05
Practice10B-Hilt 의존성 주입하기 (Inject constructor, HiltWorker) 09:57
Practice10C-관심사에 따라 ViewModel 분리하기 (by viewModels) 08:54
섹션 11. Gradle with Kotlin script
Build tool과 Android Gradle Plugin 06:27
Practice11-build.gradle을 KTS로 마이그레이션하기 (KTS, buildSrc) 10:16
섹션 12. 마치며
Modern Android Development 입문 강의를 마치며 (MAD score) 02:59
섹션 13. Appendix. Jetpack Test
안드로이드 테스트 자동화 기초 미리보기 22:33
PracticeA1-Local Unit Test 맛보기 (JUnit4, Truth, @SmallTest, @Before) 10:41
PracticeA2-Instrumented Unit Test 맛보기 (Runner, Roboletric, runTest, TestSuite) 17:49
PracticeA3-통합 테스트 맛보기 (Test Double, Hilt) 14:00
PracticeA4-종단간 테스트 맛보기 (Espresso) 13:32
강의 게시일 : 2022년 05월 16일 (마지막 업데이트일 : 2022년 07월 23일)
수강평 총 18개
수강생분들이 직접 작성하신 수강평입니다.
4.9
18개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
hhyeok1026 thumbnail
5
(강의를 다 듣고 올리는 수강평) (읽기 간편하도록 개조식(음슴체)로 작성하였으니, 양해 바랍니다.) - 섹션 들어가기전에 정리해둔 '기초' 부분 정리를 '굉장히' 잘해두셨음 - 강사님의 노하우가 들어가 있음 - 테스트 강의 맛집임. 구글 코드랩에서 테스트 보면 이해 안되었는데, 이 강의 보고 많이 얻어감. (부록에 테스트 부분 미리보기 되는 기초부분에서 감동을 받음, 결제가 고민 된다면 여기 한 번 보시길.) - 강의가 심플하고 쉽게 설명되어 있음. 완강하기 쉬울테고, 강의를 다 듣고 나면 완성된 앱을 래퍼런스로 갖고 있을 수 있어서 뿌듯함. (이미 코드랩으로 써본 부분들이 많아서, 내 기준에는 복습느낌이라 쉬웠는데 다른분들은 어떨지 모르겠음) (근데 심플하고 쉽다는게 장점이자 단점이 될 수 있음-> 이해 안되거나 부족한 부분은 학습자가 보충해서 찾아보면 좋음) - 구글 선생님들이, 앱을 쉽게 만들라고 젯팩을 만들었을텐데... 내용이 꽤나 방대하고 공부 하는 게 쉽지 않음. 이 강의를 본다고 원하는 모든 걸 얻을 순 없을테고, 학습자가 더 찾아서 공부해야 할 듯함. - 강의료의 값어치는 확실히 되고, 회사에서 학습 지원금 나오면 무지성 결제 ㄱㄱ! 본인 돈이면 알아서 하셔야겠지만, 인프런 할인 때 구매 해놓고 매몰 비용으로 학습 하는 것도 좋을듯함(?) (결론적으로 강의는 추천함, 안 듣는거 보다 들어서 얻는 게 많을테고, 강의료나 강의퀄리티 걱정할 시간에 결제해서 보면 섹션3까지는 공부 할 듯) - 질문하면 강사님이 친절하고 빠르게 답변을 주심. - 혹시, 다음에 필요한 안드 강의가 있다면, 구매할 의사가 있음. - 수강평에 별점 3점 된 리뷰가 있던데, 공감 되는 부분이 있음. (화면 전환은 아키텍쳐 적용되고, 파일이 많이 쪼개지니까 어쩔 수 없을텐데, 코드를 따라 치면서 봐야 하는데, 코드가 에디터에 가려지거나, 스크롤 전환되면서 되돌리기를 많이 누르게 됨. 유튜브에서 다음 보기 영상을 누를 시간을 줄 수 있게 5초정도? 텀을 주는 것처럼, 코드 완성 되고 영상 정지할 수 있게 3~5초정도 텀이 있으면 좋을듯함. 또, 강사님 말씀이 약간 빠르신듯 한데, 내가 듣기 능력이 부족한지, 처음 듣는 영어로 된 클래스, 라이브러리라 그런지, 많이 반복해서 들어야 이해가 되는 부분이 있었음, 말씀하시는 속도는 수강자의 호불호의 영역일테고, 또... 조절하기가 힘드실테고, 그냥 반복해서 들으면 될듯함.) 좋은 강의 잘 들었습니다. 감사합니다.
2022-12-23
지식공유자 냉동코더
hhyeok1026님 소중한 수강평 감사드립니다. 너무 좋게 평가해주셔서 강의를 만든 보람이 느껴집니다. 말씀하신대로 강의 전환속도가 빠르다는 건 제가 강사입장이라 미처 파악하지 못한 것 같네요. 상세하게 알려주셔서 감사합니다 :)
2022-12-23
박수빈 thumbnail
5
MAD에 대해서 친절하게 알려주는 몇 안되는 너무 좋은 강의입니다. 공부의 양이 많아서 다시 복습을 많이 해야겠지만, 이 강의를 제대로 이해만 한다면 개인적으로 큰 도움이 될 것 같습니다. 많이 배웠습니다 😊
2022-10-03
지식공유자 냉동코더
박수빈님, 소중한 수강평 감사드립니다. 질을 높이면서도 밀도있는 강의가 되도록 노력한 부분이 잘 전달된것 같아 기쁘네요 :)
2022-10-03
춘식이 thumbnail
5
jetpack 기술들을 한번씩 써보긴 했으나 더 정확히 알고싶은데 양이 많아서 고민하던 중 이 강의를 듣게 되었습니다. 개념을 쉽고 정확하게 알려주셔서 많은 도움이 되었습니다. 특히 jetpack 기술을 각각 파편화해서 배우는게 아니라, 한 프로젝트 내에서 모두 적용 & 리팩토링 하면서 전체적인 흐름을 이해 할 수 있어서 좋았습니다. 질문에 빠른 답장을 해주시는 것도 큰 장점인것 같습니다. 좋은 강의 감사합니다 :)
2023-01-20
지식공유자 냉동코더
춘식이 님, 소중한 수강평 감사합니다 :)
2023-01-21
우아 thumbnail
5
강의가 너무 좋았습니다 👍 강의에서 제공된 코드는 에러가 나지 않았습니다. 다른 강의랑 이 부분(에러 잡는데 시간 쓰지 않아도 되는 점)에서 차이가 있어서 좋았습니다. 코드 과정은 빠르게 Skip 한 게 시간 단축이 되고 지루해지지 않아서 좋았습니다. 기술 별로 리팩토링 하는 과정에서, 블로그에서 찾아서 썼던 기술이 이런거구나 하면서 내용 정리가 돼서 좋았습니다. 전반적으로 아는 내용은 정리 됐고, 모르는 건 다시 강의를 들으면서 제 것으로 만들어야 할 것 같습니다. 절대 흔하지 않은 안드로이드 강의 만들어주셔서 감사합니다.
2023-01-10
지식공유자 냉동코더
우아 님, 봐주셔서 감사합니다. 강의가 도움이 된 것 같아 보람이 있네요. 저장소도 깔끔하게 잘 정리하셨네요, 공부하시느라 수고하셨습니다 :-)
2023-01-10
JI HUN LEE thumbnail
5
우선 라이브러리를 적용하는 방법 뿐만 아니라 라이브러리의 변천 과정 또한 설명해주셔서 너무 인상깊었습니다 왜 이렇게 젯펙에서 많은 라이브러리들을 제공하는지, 제공하는 이유가 무엇인지 알게되어서 너무 좋았습니다. 그 전에는 이걸 다 공부해야, 잘 쓸 줄 알아야 취업할 수 있는건가라며 왜캐 할게 많을까.. 머리 아프게 사용법을 암기하고 복붙하며 공부했던 저에게 큰 깨달음이었습니다. 그리고 특히 Hilt 관련해서 SOLID 원칙부터 해서금 Hilt 가 동작하는 방식 등 공식문서를 읽어봐도 이해하기 쉽지 않은 고급 정보를 알기 쉽게 풀어서 설명해주셔서 너무 도움 많이받았습니다. 이 상황에선 이 어노테이션을 붙여야지, 이 스코프를 달아야지라며 코드랩 샘플코드들을 참고해서 갖다붙히기만 했던거 같은데 이제는 그 원리를 깨닫게 된거 같아서 너무 너무 감사합니다. (추가) 더욱이 아키텍처 뿐만아니라 Kotlin kts 적용, 테스트 맛보기 파트도 추가해주셔서 혼자 선뜻 해보기 쉽지않았던(특히 Espresso를 이용한 UI Test) 테스트 코드 작성법에 대해서도 알게 되어서 너무 좋았습니다 배운 내용들을 기존에 진행하였던 플젝에 적용해보며 제꺼로 만들어 보겠습니다!
2022-07-07
지식공유자 냉동코더
JI HUN LEE 님, 너무 소중한 수강평 감사합니다. 제 강의 의도가 잘 전해진 것 같아 강의를 힘들게 만든 보람이 느껴지네요 :)
2022-07-07