안드로이드 앱(Kotlin|Java)/[2025~] 안드로이드 앱
안드로이드 코틀린 목차
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. 금융 서비스 ( 보안키패드 / 휴대폰 인증 )
10.휴대폰 본인 인증 UI 화면 구성 (인증번호 입력) 1
11.휴대폰 본인 인증 UI 화면 구성 (인증번호 입력) 2
Ch03. 월렛 서비스
Ch04. 이미지 추출 앱
Ch05. 미디어 검색 앱
Ch06. 쇼핑몰 앱 - 복잡한 List 구성하기
02.List item 을 동적으로 서버로부터 받아서 그려주려면 어떻게 해야 할까요?
Ch07. Todo 앱
10.디자인 가이드가 변경되면 한 번에 적용하는 방법이 있을까요?
Ch08. Blind 앱
[ 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.오리엔테이션