OVERVIEW
이 책에서 배우는 것
화면을 만들고 사용자 입력을 처리하는 기초에서 시작해, 화면 전환과 목록 표시를 익힌 뒤 외부 API를 연동하는 앱으로 확장합니다. 마지막 실습에서는 날짜 선택, 네트워크 요청, 데이터 모델, 어댑터를 하나의 흐름으로 연결합니다.
제공된 PDF의 내용을 학습용으로 재구성한 요약입니다. 도구 설치 화면과 버전 정보는 원문 작성 시점을 기준으로 합니다.
CHAPTER 01 원문 9–26쪽
1장. 개발 환경 설정
안드로이드의 구성 요소를 이해하고, 첫 앱을 실행할 환경을 준비합니다.
- 앱의 구성
Activity는 화면, Service는 백그라운드 작업, Content Provider는 데이터 공유, Broadcast Receiver는 이벤트 수신을 담당합니다.
- 개발 도구
Android Studio에서 프로젝트를 만들고 SDK를 설정합니다. 교재는 Java 기반으로 실습을 진행합니다.
- 실행 환경
AVD로 가상 기기를 생성하고 에뮬레이터에서 앱을 실행합니다. 실제 기기를 연결하는 방법도 함께 익힙니다.
실습 흐름Android Studio 설치 → SDK 설정 → AVD 생성 → 앱 실행
목차로 돌아가기 ↑CHAPTER 02 원문 27–52쪽
2장. 앱 구조와 인터페이스
프로젝트 파일의 역할을 파악하고 XML 화면과 Java 코드를 연결합니다.
- 프로젝트 구조
java에는 동작 코드, res에는 화면과 이미지·문자열 리소스가 있습니다. AndroidManifest.xml은 구성 요소와 권한을 선언하고 Gradle은 빌드와 의존성을 관리합니다.
- 화면의 구성
Activity에 레이아웃을 표시하고 TextView, Button, EditText, ImageView 등의 위젯을 배치합니다. 크기와 글자 단위로 dp와 sp를 구분합니다.
- 배치와 연결
LinearLayout은 가로·세로 방향으로, RelativeLayout은 상대 위치로 배치합니다. XML의 ID를 findViewById로 찾아 코드에서 제어합니다.
실습 흐름XML 레이아웃 작성 → 위젯 ID 지정 → setContentView → findViewById 연결
목차로 돌아가기 ↑CHAPTER 03 원문 53–74쪽
3장. 이벤트 처리
사용자의 버튼 클릭 등에 반응하는 여러 구현 방식을 비교합니다.
- 개별 리스너
익명 클래스로 View.OnClickListener를 구현하면 특정 버튼의 동작을 등록하는 곳에서 바로 정의할 수 있습니다.
- 공유 리스너
리스너를 참조 변수에 저장해 여러 뷰에 연결하거나 Activity가 인터페이스를 구현합니다. v.getId()로 클릭된 뷰를 구분합니다.
- XML onClick
android:onClick으로 메서드 이름을 지정하는 방식도 다룹니다. 메서드 이름과 형식이 맞아야 하며, 여러 이벤트와 복잡한 로직에서는 리스너 방식의 활용을 비교합니다.
실습 흐름버튼 배치 → 클릭 리스너 등록 → 동작 구현 → Toast로 결과 확인
목차로 돌아가기 ↑CHAPTER 04 원문 75–124쪽
4장. 메뉴와 대화상자
기능 선택 메뉴와 확인·입력 대화상자를 구성해 사용자와 소통합니다.
- 메뉴의 구분
옵션 메뉴는 앱의 주요 기능, 컨텍스트 메뉴는 길게 누른 항목의 작업, 팝업 메뉴는 특정 뷰 주변의 선택지를 제공합니다.
- 메뉴 처리
메뉴 리소스에 항목을 정의하고 화면에 연결한 뒤, 선택된 항목의 ID에 따라 실행할 동작을 나눕니다.
- 대화상자
AlertDialog로 메시지와 확인·취소 선택을 제공하고 사용자 입력을 받습니다. DatePickerDialog와 TimePickerDialog로 날짜와 시간을 선택합니다.
실습 흐름메뉴 항목 정의 → 메뉴 표시 → 선택 처리 → 대화상자로 확인 또는 입력
목차로 돌아가기 ↑CHAPTER 05 원문 125–154쪽
5장. 애니메이션
움직임과 속성 변화를 통해 화면의 상태 변화를 시각적으로 전달합니다.
- XML 애니메이션
View Animation으로 이동·회전·크기·투명도 효과를 정의합니다. Drawable Animation은 준비한 이미지를 순서대로 재생하는 프레임 방식입니다.
- 속도 조절
Interpolator는 시간에 따른 변화 속도를 조절합니다. 일정한 속도, 가속·감속 등 효과에 맞는 움직임을 선택합니다.
- 속성 애니메이션
Property Animation과 ObjectAnimator는 객체의 속성 값을 변경합니다. 보이는 모습에 효과를 주는 View Animation과 실제 속성 변경의 차이를 이해합니다.
실습 흐름대상 선택 → 효과와 지속 시간 설정 → 시작·중지 연결 → 변화 확인
목차로 돌아가기 ↑CHAPTER 06 원문 155–180쪽
6장. 액티비티와 인텐트
화면의 생명주기를 이해하고 앱 내부와 외부 기능을 연결합니다.
- 생명주기
Activity의 생성, 시작, 재개, 일시정지, 정지, 소멸 흐름을 살펴보고 각 단계에 맞는 초기화와 자원 관리를 이해합니다.
- 명시적 인텐트
대상 Activity를 지정해 화면을 전환합니다. Extras로 데이터를 담고 Parcelable 객체를 전달하는 예제를 실습합니다.
- 암시적 인텐트
웹, 전화, 지도, 공유처럼 수행할 작업과 데이터를 지정해 외부 앱과 연결합니다. 카메라 예제로 기기 기능과 권한 처리를 함께 다룹니다.
실습 흐름Intent 생성 → 대상 또는 작업 지정 → 데이터 전달 → 화면 실행 및 수신
목차로 돌아가기 ↑CHAPTER 07 원문 181–216쪽
7장. 어댑터와 목록
데이터를 목록의 항목 화면에 연결하고 추가·수정·삭제를 구현합니다.
- 데이터와 UI 연결
Adapter는 데이터와 항목 레이아웃을 연결합니다. 목록은 필요한 항목 뷰를 받아 표시하고 스크롤 때 뷰를 재사용합니다.
- 어댑터 종류
ArrayAdapter, CursorAdapter, BaseAdapter, RecyclerView.Adapter의 용도를 살펴봅니다. 데이터 형태와 항목 구성에 따라 구현 방식을 비교합니다.
- 목록 실습
ListView에 기본 데이터를 표시한 뒤 사용자 입력으로 항목을 추가·수정·삭제합니다. 데이터 변경 후 목록을 갱신하는 흐름을 익힙니다.
실습 흐름데이터 준비 → Adapter 생성 → ListView 연결 → 항목 조작 → 목록 갱신
목차로 돌아가기 ↑CHAPTER 08 원문 217–252쪽
8장. 공공데이터 앱 개발
앞선 학습을 종합해 검색 기간별 구조동물 정보를 보여주는 앱을 만듭니다.
- API 준비
공공데이터포털에서 구조동물 조회 서비스를 검색하고 활용 신청 및 인증키 준비를 진행합니다. 요청 파라미터와 응답 구조를 확인합니다.
- 통신과 모델
Retrofit 인터페이스로 요청을 정의하고 NetworkModule에서 통신 객체를 구성합니다. Gson으로 JSON 응답을 필요한 필드가 있는 ApiResponse 모델에 매핑합니다.
- 화면 연결
DatePickerDialog로 조회 기간을 고르고 비동기로 API를 요청합니다. AnimalAdapter를 통해 품종·보호소명·이미지를 목록에 표시하고 응답 및 요청 실패를 처리합니다.
실습 흐름조회 기간 선택 → API 요청 → JSON 매핑 → Adapter에 데이터 전달 → 목록 갱신
목차로 돌아가기 ↑참고 문서
「알기 쉬운 안드로이드 앱 기초」 · 박경훈, 주동현, 김영준 지음 · 라임하우스
참조 파일: 알기 쉬운 안드로이드 앱 기초_본문4차.pdf
요약 범위: 본문 1–8장(9–252쪽), 맺음말(253쪽)
출처: 과학기술정보통신부 및 정보통신기획평가원이 지원한 2025년도 SW중심대학사업 결과물(2023-0-00076).