깡쌤의 안드로이드 프로그래밍 with 자바 (코더에서 개발자로, 단단한 성장을 위한)

깡쌤의 안드로이드 프로그래밍 with 자바 (코더에서 개발자로, 단단한 성장을 위한)

$35.57
Description
핵심을 꼼꼼하게 갖춘 안드로이드 앱 개발 필독서
자바로 익히는 안드로이드 프로그래밍의 원리
안드로이드 12 버전의 릴리즈에 발맞춰 「깡쌤의 안드로이드 프로그래밍 with 자바」가 새롭게 준비되었다. 안드로이드 앱 개발의 시작인 사용자 인터페이스의 기본 구조부터 컴포넌트의 개념과 구글 기본 앱과의 연동까지 명확하게 설명하고 다양한 기능의 원리를 파악하는 데 주력한다. 더불어, 차근차근 따라 할 수 있는 실습을 담아 문제 해결 능력을 길러주고 안드로이드 앱 개발을 배울 때 한 번쯤 궁금할 만한 질문과 그에 대한 답으로 학습을 끝까지 완주할 수 있도록 돕는다.
저자

강성윤

IT전문강사로멀티캠퍼스에서소프트웨어관련강의를하고있으며,2010년부터안드로이드앱개발,2018년부터코틀린을강의하고있다.또한,모바일/IOT전문업체인MotizenSoft에서모바일팀을이끌고있다

목차

Part01안드로이드시작하기
_01_개발환경을구축하자!
__1.1.안드로이드스튜디오개발환경구축
___1.1.1.안드로이드스튜디오설치
___1.1.2.안드로이드스튜디오설정
__1.2.첫번째앱만들고실행하기
___1.2.1.프로젝트생성
___1.2.2.AVD매니저
___1.2.3.AVD에서실행
___1.2.4.스마트폰에서실행
___1.2.5.개발편의를위한설정
__1.3.앱배포
___1.3.1.AAB파일의이해
___1.3.2.AAB파일로앱빌드
___1.3.3.구글Play스토어에앱배포

_02_안드로이드프로젝트이해
__2.1.안드로이드앱개발특징
___2.1.1.안드로이드의특징
___2.1.2.안드로이드플랫폼아키텍처
___2.1.3.컴포넌트기반개발
___2.1.4.리소스를이용한개발
__2.2.개발디렉터리와파일구조
___2.2.1.앱의디렉터리와파일
___2.2.2.R.java의이해
__2.3.그레이들파일
___2.3.1.settings.gradle
___2.3.2.프로젝트수준의그레이들
___2.3.3.모듈수준의그레이들
__2.4.HelloWorld앱코드분석
___2.4.1.AndroidManifest.xml
___2.4.2.MainActivity.java
___2.4.3.activity_main.xml
__2.5.안드로이드버전

Part02기본앱을만들어보자
_03_사용자인터페이스
__3.1.UI의기본구조
___3.1.1.액티비티-뷰구조
___3.1.2.UI프로그램작성방법:자바코드VS레이아웃XML
___3.1.3.뷰의기초속성
__3.2.뷰아키텍처
___3.2.1.뷰의계층구조
___3.2.2.뷰계층구조구현
__3.3.기초뷰활용
___3.3.1.TextView
___3.3.2.ImageView
___3.3.3.EditText
___3.3.4.Button
___3.3.5.Checkbox와RadioButton
__3.4.ViewBinding

_04_레이아웃을활용한다양한뷰배치
__4.1.LinearLayout
___4.1.1.LinearLayout소개
___4.1.2.레이아웃중첩
___4.1.3.LinearLayout속성
__4.2.RelativeLayout
___4.2.1.RelativeLayout소개
___4.2.2.align속성
___4.2.3.alignParentXXX속성
__4.3.FrameLayout
__4.4.GridLayout
___4.4.1.GridLayout소개
___4.4.2.GridLayout속성
__4.5.ConstraintLayout

_05_사용자이벤트처리
__5.1.뷰이벤트
___5.1.1.이벤트프로그램구조
___5.1.2.다양한이벤트처리
__5.2.터치이벤트와키이벤트
___5.2.1.터치이벤트
___5.2.2.키이벤트

_06_리소스활용및스마트폰크기호환성
__6.1.안드로이드리소스
___6.1.1.리소스종류
___6.1.2.다양한리소스활용
__6.2.스마트폰크기호환성
___6.2.1.리소스폴더명조건명시법
___6.2.2.WindowMetrics
___6.2.3.논리적단위로스마트폰크기호환성확보

_07_다양한사용자알림효과
__7.1.퍼미션
___7.1.1.퍼미션이란?
___7.1.2.퍼미션허용
__7.2.진동과소리
___7.2.1.진동울리기
___7.2.2.소리울리기
__7.3.다이얼로그
___7.3.1.토스트메시지
___7.3.2.알림창
___7.3.3.목록다이얼로그
___7.3.4.날짜선택다이얼로그
___7.3.5.시간선택다이얼로그
___7.3.6.커스텀다이얼로그
__7.4.알림
___7.4.1.알림의기본구성
___7.4.2.NotificationChannel
___7.4.3.기본적인알림구성
___7.4.4.알림의다양한구성

Part03상용앱수준의화면을구성하자
_08_JetPack의뷰
__8.1.JetPack의라이브러리
___8.1.1.JetPack이란
___8.1.2.안드로이드APILevel과하위호환성
__8.2.ActionBar와메뉴
___8.2.1.ActionBar
___8.2.2.메뉴
___8.2.3.Toolbar
__8.3.Fragment
___8.3.1.Fragment이해
___8.3.2.Fragment작성법
___8.3.3.Fragment생명주기
__8.4.RecyclerView
___8.4.1.RecyclerView소개
___8.4.2.Adapter와ViewHolder
___8.4.3.LayoutManager
___8.4.4.ItemDecoration
__8.5.ViewPager2

_09_머티리얼디자인의뷰
__9.1.DrawerLayout과NavigationView
___9.1.1.DrawerLayout
___9.1.2.NavigationView
__9.2.ExtendedFloatingActionButton
__9.3.TabLayout
__9.4.AppBarLayout
__9.5.CoordinatorLayout

Part04컴포넌트를제대로이해하자
_10_액티비티
__10.1.인텐트
___10.1.1.인텐트의기본개념
___10.1.2.명시적인텐트와암시적인텐트
___10.1.3.인텐트필터
___10.1.4.Extra데이터
___10.1.5.결과되돌리기-startActivityForResult()
___10.1.6.결과되돌리기?ActivityResultLauncher
__10.2.액티비티생명주기
___10.2.1.생명주기
___10.2.2.액티비티상태저장
__10.3.태스크관리
___10.3.1.시스템의태스크관리
___10.3.2.태스크제어
__10.4.액티비티를위한다양한설정
___10.4.1.키보드제어
___10.4.2.화면방향과전체화면
__10.5.ANR과스레드-핸들러
___10.5.1.액티비티ANR
___10.5.2.RxJava를이용한ANR해결

_11_브로드캐스트리시버와서비스
__11.1.브로드캐스트리시버
___11.1.1.브로드캐스트리시버이해
___11.1.2.브로드캐스트리시버작성방법
___11.1.3.시스템상태파악
__11.2.서비스
___11.2.1.서비스작성방법
___11.2.2.서비스생명주기
___11.2.3.Messenger바인딩
___11.2.4.패키지공개상태
___11.2.5.AIDL
__11.3.백그라운드제약
___11.3.1.브로드캐스트리시버제약
___11.3.2.서비스제약
___11.3.3.JobScheduler

_12_콘텐츠프로바이더
__12.1.콘텐츠프로바이더이해
___12.1.1.콘텐츠프로바이더구조
___12.1.2.콘텐츠프로바이더작성법
___12.1.3.콘텐츠프로바이더이용
__12.2.구글기본앱연동
___12.2.1.주소록앱연동
___12.2.2.카메라앱연동
___12.2.3.갤러리앱연동
___12.2.4.지도앱과전화앱연동

Part05다양한기능을구현하자
_13_데이터영속적저장
__13.1.SQLite을이용한영속화
___13.1.1.SQLiteDatabase클래스
___13.1.2.SQLiteOpenHelper클래스
___13.1.3.insert(),query(),update(),delete()함수이용
__13.2.파일읽고쓰기
___13.2.1.외부저장공간이용
___13.2.2.내부저장공간이용
__13.3.Preferences
___13.3.1.SharedPreferences
___13.3.2.앱설정자동화
___13.3.3.설정제어및이벤트처리

_14_네트워크프로그래밍
__14.1.네트워크정보활용
___14.1.1.TelephonyManager
___14.1.2.ConnectivityManager
__14.2.Retrofit25
___14.2.1.매니페스트설정
___14.2.2.Retrofit2구조
___14.2.3.Retrofit2어노테이션
__14.3.Glide라이브러리
__14.4.파이어베이스클라우드메시징

_15_Geo프로그래밍
__15.1.위치정보획득-LocationManager
___15.1.1.위치정보제공자
___15.1.2.위치정보획득
__15.2.위치정보획득-FusedAPI
__15.3.GoogleMap
___15.3.1.지도출력
___15.3.2.지도제어