heylo 2025. 1. 24. 16:55

[ Part 0. 안드로이드 앱 개발 시작에 앞서 ]

Ch01. Kotlin 기초

01.오리엔테이션

02.함수

03.변수 (val, var)

04.클래스

05.조건식

06.반복문

07.컬렉션 (list, map, set)

08.Null

09.타입체크와 캐스팅

10.String template

 

 

 

Ch02. Kotlin 중급

01.람다

02.확장함수

03.Scope function

04.초기화 지연

05.data, sealed class

06.object, companion object

 

 

Ch03. Android 기

01.Android OS

02.Android 기본요소

03.Activity 생명주기 (1)

04.Activity 생명주기 (2)

05.뷰 그려지는 순서

 

 

Ch04. Android 개발 환경설정

01.Android Studio 설치

02.Android Studio 살펴보기

03.ktlint 적용해보기

04.detekt 적용해보기

 

 


[ Part 1. 안드로이드 기본 ]

Ch01. 오리엔테이션

01.오리엔테이션

 

 Ch02. 숫자세기 앱 ( Linear Layout )

01.개요 및 학습목표

02.프로젝트 셋팅                ( Linear Layout, Activity )

03.숫자세기 UI 그리기 (1) ( Linear Layout, orientation )

04.숫자세기 UI 그리기 (2)  ( gravity, weight, padding, margin, match_parent, wrap_content, sp, dp )

05.유저 입력값 받아오기    ( findViewById )

06.숫자세기 기능 구현        ( OnClickListener )

07.복습 및 한걸음 더           ( 방향전환 시 데이터 유지 )

 

 

Ch03. 단위 변환기 앱 ( Constraint Layout )

01.개요 및 학습목표

02.길이변환 UI 그리기 (1)   ( constraint )

03.길이변환 UI 그리기 (2)   ( 글자 아래 위치 맞추기 : baseline )

04.UI 요소 가져오기            ( UI 요소 가져오기 : viewBinding, gradle:app binding )

05.단위변환 기능 구현         ( addTextChangedListener )

06.화면전환 시 데이터 유지 ( onSaveInstanceState )

07.복습 및 한걸음 더            ( Activity Life Cyle, 부정확한 소수점 )

 

 

Ch04. 응급 의료정보 앱 ( adapter, commit, apply, scope function )

01.개요 및 학습목표                   ( 데이터 저장, 불러오기 )

02.응급의료 정보 UI 그리기 (1) ( 스타일 통일 : styles )

03.화면 전환하기                         ( 뷰 이동 : intent )

04.응급의료 정보 UI 그리기 (2) ( ImageButton, RadioGroup, Spinner, CheckBox )

05.응급의료 정보 UI 그리기 (3) ( Spinner, Calendar, Checkbox, adapter )

06.데이터 저장하고 불러오기      ( commit, apply, scope function, 코드 간결화 )

07.데이터 삭제하기                      ( clear 과 apply )

08.전화 앱 실행하기                      ( 암시적 intent )

09.복습 및 한걸음 더

 

 

Ch05. 계산기 앱 ( action bar, dark mode, bigDecimal, DecimalFormat )

01.개요 및 학습목표         ( Constraint Layout - Flow, theme, StringBuilder )

02.계산기 UI 그리기         ( Flow, BackgroundTint )

03.계산 기능 구현하기(1) ( xml 을 통한 onClickListener )

04.계산 기능 구현하기(2) ( bigDecimal, DecimalFormat )

05.계산기 UI 꾸미기         ( action bar, dark mode )

06.복습 및 한걸음 더        ( String vs StringBuilder )

 

 

Ch06. 스톱워치 앱 ( UI Thread 와 Worker Thread , Tone Generator )

01.개요 및 학습목표 ( Thread )

02.스톱워치 UI 그리기 (1)   ( progressBar, scrollView, FloatingActionButton )

03.스톱워치 기능 구현 (1)   ( AlertDialog, NumberPicker, OnClickListener )

04.안드로이드 스레드         ( UI Thread, Worker Thread, Handler, Looper, Message Queue )

05.스톱워치 기능 구현 (2) ( runOnUiThread, visibility, start, pause, stop 기능 )

06.스톱워치 UI 그리기 (2) ( lap, 확장함수 let )

07.스톱워치 기능 구현 (3) ( Tone Generator )

08.복습 및 한걸음 더          ( Handler )

 

 

Ch07. 단어장 앱 ( margin & padding, RecyclerView )

01.개요 및 학습목표 ( Room, RecyclerView, DataClass )

02.단어장 UI 그리기 (1) ( margin 과 padding 의 차이 )

03.단어장 UI 그리기 (2) ( RecyclerView 개념 )

04.단어장 UI 그리기 (3) ( Adapter, ViewHolder, getItemCount, 액티비티 간 연결 )

05.단어장 기능 구현하기 (1) - 저장 ( Room )

06.단어장 기능 구현하기 (2) - 읽기, 삭제 ( registerForActivityResult, getInstance, DAO, IndexOutofBounds Exception )

07.단어장 기능 구현하기 (3) - 수정 ( Parcelize, 깊은 복사 copy )

08.단어장 UI 그리기 (4) ( 에러처리, validationCheck )

09.복습 및 한걸음 더 ( RecyclerView 아이템 클릭 리스너, 유효성 체크 )

 

 

 

 

Ch08. 나만의 액자 ( SAF, Permission, sealed class )

01.개요 및 학습목표 ( SAF: Storage Access Framwork, 다양한 리스트, Viewpager2, 커스텀툴바 )

02.권한 가져오기 ( ActivityCompat.requestPermissions, shouldShowRequestPermissionRationale, AlertDialog.Builder, requestCode 등 )

03.갤러리에서 이미지 불러오기 ( SAF, onRequestPermissionResult )

04.액자 UI 그리기 (1) ( NPE 처리, sealed class, object )

05.액자 UI 그리기 (2) ( ViewPager2 와 Adapter )

06.액자 UI 그리기 (3) ( 페이지 인디케이터, TabLayoutMediator )

07.액자 UI 그리기 (4) ( ActionBar 와 ToolBar, Menu Inflating )

08.복습 및 한걸음 더 ( ListAdapter 와 RecyclerView.Adapter 의 차이, drawable로 도형 그리기 )

 

 

Ch09. 음악재생 앱 ( Service, BroadcastReceiver )

01.개요 및 학습목표 ( 백그라운드 실행, MediaPlayer, Notification )

02.MediaPlayer 로 음원재생 (1) ( MediaPlayer )

03.MediaPlayer 로 음원재생 (2) ( 백그라운드 실행 : Service )

04.MediaPlayer 로 음원재생 (3) ( 포그라운드 서비스, Notification )

05.디바이스 이벤트 알림

06.복습 및 한걸음 더

 


[ Part 2. 개발의 퀄리티를 높이는 라이브러리의 활용 ]

Ch00. 오리엔테이션

01.오리엔테이션

 

Ch01. 웹툰 앱

01.인트로 (개요 및 학습목표)

02.WebView 사용해보기

03.Fragment 사용하기

04.기본 UI 구성하기

05.WebView Tab으로 구성하기

06.마지막 회차 저장하기

07.완성도 높이기

 

 

Ch02. 녹음기 앱

01.인트로 (개요 및 학습목표)

02.기본 UI 구성하기

03.권한 요청하기 (1)

04.녹음 기능 구현하기

05.재생 기능 구현하기

06.녹음 파형 그리기 (1)

07.녹음 파형 그리기 (2)

08.완성도 높이기

 

 

Ch03. 오늘의 공지

01.인트로 (개요 및 학습목표)

02.SocketServer 를 이용하여 간단한 소켓 서버 구현해보기 (1)

03.SocketServer 를 이용하여 간단한 소켓 서버 구현해보기 (2)

04.Socket을 활용하여 Client 앱 만들기

05.OKHttp 를 이용하여 Client 앱 만들기

06.클라이언트 앱 UI 그리기

07. 완성도 높이기

 

Ch04. 깃헙 레포지토리 조회

01.인트로 (개요 및 학습목표)

02.깃허브 API 소개 및 사용할 API 살펴보기

03.깃허브 토큰 발급받고 Postman 으로 조회해보기

04.Retrofit을 이용해 서버 데이터 불러오기 (1)

05.Retrofit을 이용해 서버 데이터 불러오기 (2)

06.유저 불러오기 검색 화면 구현하기 (1)

07.유저 불러오기 검색 화면 구현하기 (2)

08.레포지토리 조회 화면 구현하기 (1)

09.레포지토리 조회 화면 구현하기 (2)

10.완성도 높이기

 

Ch05. 뉴스앱

01.인트로 (개요 및 학습목표)

02.사용할 API 살펴보기

03.서버 데이터 불러오기

04.뉴스 리스트 UI 만들기 (1)

05.뉴스 리스트 UI 만들기 (2)

06.상단 탭 구조로 만들기

07.검색 기능 넣어보기

08.상세 페이지 UI 만들기

09.완성도 높이기

 

 

Ch06. 채팅앱

01.인트로 (개요 및 학습목표)

02.Firebase 환경설정하기

03.로그인 화면 UI 그리기

04.사용자 목록 화면 그리기

05.채팅 목록 화면 그리기

06.Firebase Realtime Database 를 활용하여 DB 구조 구상하기

07.사용자 목록과 채팅 목록 DB에서 불러오기 (1)

08.사용자 목록과 채팅 목록 DB에서 불러오기 (2)

09.채팅 화면 그리기

10.채팅 기능 구현하기

11.채팅 알림 수신하기

12.채팅 알람 송신하기

13.완성도 높이기

 

 

Ch07. 날씨앱

01.인트로 (개요 및 학습목표)

02.공공 Open API 소개 및 살펴보기

03.날씨 정보 불러오기 (1)

04.날씨 정보 불러오기 (2)

05.사용자 위치 불러오기

06.현위치 날씨 정보 표시하기 (1)

07.현위치 날씨 정보 표시하기 (2)

08.날씨 위젯 만들기 (1)

09.날씨 위젯 만들기 (2)

10.날씨 위젯 갱신하기

 

 

Ch08. 대동맛집도

01.인트로 (개요 및 학습목표)

02.네이버 지도 사용 설정하기

03.네이버지도 사용해보기

04.서버에서 맛집 목록 가져오기

05.지도에 맛집 목록 표시하기

06.지도 위에 BottomSheetDialog 띄우기

07.BottomSheetDialog에 맛집 목록 나타내기

08.완성도 높이기

 

 

Ch09. 젠리

01.인트로 (개요 및 학습목표)

02.카카오톡 로그인 구현하기 (1)

03.카카오톡 로그인 구현하기 (2)

04.Google Map 사용 설정하기

05.Firebase 설정하기 & Firebase Auth Login

06.EmailActivity에서 이메일 가져오기

07.지도에 현재 위치 표시하기

08.사용자 위치정보 저장하기

09.다른 사용자에게 리액션 보내기 (1)

10.다른 사용자에게 리액션 보내기 (2)

11.완성도 높이기

 

Ch10. 내일의집

01.인트로 (개요 및 학습목표)

02.Firebase DB 구조 구상하기

03.Firebase를 활용하여 이메일 로그인 구현하기

04.메인 Tab UI 구성하기

05.Firebase에서 사진 목록 가져오기

06.로컬 갤러리에서 사진 가져오기

07.글쓰기 페이지 구현하기

08.Firebase Storage에 사진 업로드하기

09.글 상세 페이지 구현하기

10.홈 화면 구현하기 (1)

11.홈 화면 구현하기 (2)

12.완성도 높이기

 

 

Ch11. 별다방커피

01.인트로 (개요 및 학습목표)

02.메인 탭 구조 구성하기

03.홈 화면 리스트 구조 구성하기

04.홈 화면 모션 애니메이션 구현하기

05.홈 화면 UI 완성하기 (1)

06.홈 화면 UI 완성하기 (2)

07.주문페이지 플로우 구현하기 (1)

08.주문페이지 플로우 구현하기 (2)

09.완성도 높이기

 

 

Ch12. Youtube

01.인트로 (개요 및 학습목표)

02.영상 목록 API 구상하기

03.홈 화면 UI 만들기

04.영상 화면 UI 만들기

05.영상 화면과 목록 화면 연결하기

06.ExoPlayer를 이용해 동영상 재생하기 (1)

07.ExoPlayer를 이용해 동영상 재생하기 (2)

08.ExoPlayer를 이용해 동영상 재생하기 (3)

09.추가 기능 구현하기

10.마무리하기

 

 


[ Part 3. 복잡한 요구사항 ]

Ch00. 오리엔테이션

01.오리엔테이션

 

 

Ch01. 얼굴 인식 서비스

01.개요 및 학습목표

02.주요 기술 소개

03.Main UI 그리기

04.카메라 모듈 구성

05.카메라 권한 받기 구현

06.얼굴 인식 모듈 구현 1

07.얼굴 인식 모듈 구현 2

08.얼굴 인식 모듈 구현 3

09.얼굴 인식 모듈 연동

10.얼굴형 Mask Custom UI 그리기 1

11.얼굴형 Mask Custom UI 그리기 2

12.그린 선따라 프로그래스바를 움직이려면 어떻게 해야 할까요?

 

 

Ch02. 금융 서비스 ( 보안키패드 / 휴대폰 인증 )

01.개요 및 학습목표

02.보안키패드 - Shuffle 키패드 만들기 1

03.보안키패드 - Shuffle 키패드 만들기 2

04.보안키패드 - UI 구성 1

05.보안키패드 - UI 구성 2

06.보안키패드 - 데이터 무결성 체크

07.휴대폰 본인 인증 UI 구성 1

08.휴대폰 본인 인증 UI 구성 2

09.휴대폰 본인 인증 데이터 무결성 체크

10.휴대폰 본인 인증 UI 화면 구성 (인증번호 입력) 1

11.휴대폰 본인 인증 UI 화면 구성 (인증번호 입력) 2

12.인증번호 자동입력하려면 어떻게 해야 할까요?

 

 

Ch03. 월렛 서비스

01.개요 및 학습목표

02.MotionLayout 이란?

03.카드 모음 UI 그리기 1

04.카드 모음 UI 그리기 2

05.카드 모음 UI 그리기 3

06.카드 상세 UI 그리기 1

07.카드 상세 UI 그리기 2

08.상세화면 데이터 연결하기

 

 

Ch04. 이미지 추출 앱

01.개요 및 학습목표

02.MVC 패턴 소개

03.MVC 패턴 적용하기

04.MVP 패턴 소개

05.MVP 패턴 적용하기

06.MVVM 패턴 소개

07.MVVM 패턴 적용하기

08.MVI 패턴 소개

09.MVI 패턴 적용하기

 

 

Ch05. 미디어 검색 앱

01.개요 및 학습목표

02.검색 UI 그리기 1

03.검색 UI 그리기 2

04.검색 UI 그리기 3

05.검색 UI 그리기 4

06.키워드 검색 입력 받기

07.미디어 API 연결하기

08.데이터 출력하기

09.즐겨찾기 기능 구현하기

10.Test code 작성

 

Ch06. 쇼핑몰 앱 - 복잡한 List 구성하기

01.개요 및 학습목표

02.List item 을 동적으로 서버로부터 받아서 그려주려면 어떻게 해야 할까요?

03.Hilt 란?

04.Hilt 적용하기

05.화면 구성하기 1

06.화면 구성하기 2

07.화면 구성하기 3

08.화면 구성하기 4

09.Coroutine 이란

10.Flow 란

11.Paging3 이란

12.Api 호출하기 1

13.Api 호출하기 2

14.페이징 처리하기

15.리스트 출력하기

 

Ch07. Todo 앱

01.개요 및 학습목표

02.Room 이란

03.화면 구성하기 1

04.화면 구성하기 2

05.Room 연결

06.입력 구현하기

07.리스트 구현하기

08.데이터 수정 구현하기

09.데이터 삭제 구현하기

10.디자인 가이드가 변경되면 한 번에 적용하는 방법이 있을까요?

11.테마 적용하기 1

12.테마 적용하기 2

13.테마 적용하기 3

 

Ch08. Blind 앱

01.개요 및 학습목표

02.클린 아키텍처의 이해 1

03.클린 아키텍처의 이해 2

04.DI 적용하기

05.Room 적용하기

06.Retrofit 적용하기

07.리스트 화면 구성하기 1

08.리스트 화면 구성하기 2

09.상세 화면 구성하기 1

10.상세 화면 구성하기 2

11.데이터 연결 1-1 - 입력

12.데이터 연결 1-2 - 입력

13.데이터 연결 2-1 - 수정

14.데이터 연결 2-2 - 수정

15.데이터 연결 3-1 - 조회

16.데이터 연결 3-2 - 조회

17.데이터 연결 4-1 - 삭제

18.데이터 연결 4-2 - 삭제

19.네트워크가 없는 상황에서는 어떻게 처리하나요?

 


[ Part 4. Jetpack Compose ]

Ch01. 오리엔테이션

01.오리엔테이션

 

Ch02. Compose 기초

01.Jetpack Compose 란 (1)

02.Jetpack Compose 란 (2)

03.Compose 활용 사례

04.선언형 UI 란

 

 

Ch03. Compose 콤포넌트

01.인트로

02.Text

03.Button

04.Modifier

05.Surface

06.Box

07.Row

08.Column

09.BoxWithConstraints

10.Image

11.Network Image

12.프로필 카드 구현 실습

13.Checkbox

14.TextField

15.TopAppBar

16.Slot API

17.Scaffold 사용

18.카탈로그 앱 구현하기

 

 

Ch04. Compose 활용

01.인트로

02.Recomposotion

03.ConstraintLayout

04.ConstraintLayout (ConstraintSet)

05.ConstraintLayout (Chain, Barrier)

06.ConstraintLayout 활용

07.Canvas

08.Dialog

09.Custom Dialog

10.DropDownMenu

11.SnackBar

12.BottomAppBar

13.State 와 State Hoisting

14.애니메이션 (1)

15.애니메이션 (2)

16.부수효과 (1)

17.부수효과 (2)

18.TODO 앱 구현하기

 

 

Ch05. Compose 아키텍처

01.인트로

02.ViewModel

03.LiveData 연동

04.CompositionLocal

05.Theme

06.네비게이션

07.의존성 주입

08.Unidirectional Data Flow

09.포켓몬 앱

 


 

[ Part 4+. Jetpack Compose 실무심화 ]

Ch01. 오리엔테이션

01.오리엔테이션

 

Ch02. Compose 성능 최적화

01.인트로

02.수명주기

03.렌더링 단계

04.Stability

05.Compose 성능 최적화 실습 (1)

06.Compose 성능 최적화 실습 (2)

07.Compose 성능 최적화 실습 (3)

08.Compose 성능 최적화 실습 (4)

 

 

 

Ch03. Compose 실무활용

01.인트로

02.디자인 시스템 이론

03.영화정보 앱 소개 및 데모

04.사용 라이브러리 소개

05.프로젝트 구조 소개

06.영화 썸네일 만들기

07.영화 카테고리 만들기

08.테마 - 색상설정

09.테마 - 타이포그래피, 쉐이프 설정

10.컴포넌트에 테마 적용하기

11.커스텀 버튼 만들기

12.다이얼로그 만들기 (1)

13.다이얼로그 만들기 (2)

14.네비게이션 라이브러리 설정

15.영화피드 - DI와 레트로핏 설정

16.레포지터리, StateFlow, SharedFlow, ViewModel 설정

17.Usecase, 스토리지 구현 및 ViewModel에 적용 1

18.영화피드 화면 만들기

19.영화 상세정보 화면 만들기

20.Compose 다중테마 적용하기

 

Ch04. Compose 기반 멀티모듈 아키텍처

01.인트로

02.멀티모듈 아키텍처 소개

03.앱 및 프로젝트 구조 데모

04.멀티모듈 생성하기

05.모듈간 종속관계 설정

06.컴포즈 UI 컴포넌트 모듈 구현

07.Core 컴포넌트 모듈 구현

08.Libraries 모듈들 구현

09.Features 모듈들 구현

10.딥링크를 사용한 Navigation

11.모듈간 통신을 위한 DI 설정

12.Build Varients 활용 다중테마 설정

 

 

 

Ch05. 해외취업 특강

01.오리엔테이션

02.강사 커리어 소개

03.해외와 한국 IT 기업의 차이점

04.FAANG의 개발자 채용방법

05.해외 IT 기업의 인터뷰 프로세스 소개

06.CV Resume Screening

07.Phone Screening Interview

08.Algorithm Coding Interview (1)

09.Algorithm Coding Interview (2)

10.Domain Knowledge Interview

11.System Design Interview

12.Behavorial Interview

13.정리

 

 

 

 


[ Part 5. 개발부터 배포까지 FINAL ]

Ch01. 오리엔테이션

01.오리엔테이션

 

Ch02. 쇼핑몰 앱

01.인트로

02.클린아키텍쳐 기반 설계하기 1

03.클린아키텍쳐 기반 설계하기 2

04.Hilt 세팅하기 1

05.Hilt 세팅하기 2

06.Main 화면 탭 구성하기 ( 홈, 관심, 프로필, 장바구니 )

07.홈화면 상단 검색바 구성하기

08.상품 정보 만들기

09.상품 정보 기반으로 mock 데이터 세팅하기

10.공용 상품 화면 만들기

11.홈 화면 상품 리스트 구성하기 1

12.홈 화면 상품 리스트 구성하기 2

13.홈 화면 배너 구성하기 1

14.홈 화면 배너 구성하기 2

15.홈 화면 가로 스크롤 화면 구성하기

16.홈 화면 랭킹 리스트 화면 구성하기

17.홈 화면 카테고리 화면 구성하기 1

18.홈 화면 카테고리 화면 구성하기 2

19.홈 화면 컴포넌트화로 리팩토링 하기 1

20.홈 화면 컴포넌트화로 리팩토링 하기 2

21.홈 화면 컴포넌트화로 리팩토링 하기 3

22.상품 상세화면 만들기 1

23.상품 상세화면 만들기 2

24.검색 화면 구현하기 1

25.검색 화면 구현하기 2

26.검색 화면 필터링 기능 추가 1

27.검색 화면 필터링 기능 추가 2

28.구글 로그인 연동하기 1

29.구글 로그인 연동하기 2

30.카카오 로그인 연동하기

31.좋아요 기능 구현하기

32.관심 화면 구현하기

33.장바구니 넣기 기능 구현하기

34.장바구니 화면 구현하기

35.딥링크 구성하기 1

36.딥링크 구성하기 2

37.딥링크 구성하기 3

38.프로필 화면 구성하기

39.결제 내역 개발하기 1

40.결제 내역 개발하기 2

41.결제하기 기능 구현하기

42.테스트 환경 세팅하기

43.테스트 코드 작성하기 - 검색 기능

44.테스트 코드 작성하기 - 결제 기능

45.안드로이드 프레임워크 분석툴 알아보기

46.Firebase를 통해 크래시 수집하기 1

47.Firebase를 통해 크래시 수집하기 2

48.플레이 스토어에 앱 출시하기

49.구글 광고 붙이기 1

50.구글 광고 붙이기 2