기본 프로젝트 생성 시 파일구조
projectName
├── manifests
│ └── AndroidManifest.xml
├── java
│ ├── 패키지이름.앱이름 - 메인 코드 작성 및 코드 작성하는 곳
│ ├── 패키지이름.앱이름(androidTest) - 테스트 코드 작성시 사용
│ └── 패키지이름.앱이름(test)
├── res
│ ├── drawable - 각종 이미지 관리
│ ├── layout - 화면 UI XML
│ ├── mipmap - 각종 아이콘 및 앱에 사용하는 이미지파일
│ └── values - 앱의 테마나, 컬러 코드, 문자열 저장 공간
├── gradle
│ ├── build.gradle(Project)
│ ├── build.gradle(Module)
│ ├── gradle-wrapper.properties
│ ├── proguard-rules.pro
│ ├── settings.gradle
└── └── local.properties
manifests
앱과 관련된 기본적인 설정 - 앱의 4대 구성요소(Activity, Service, Broadcast Receiver, Content Provider)와 권한들을 명시함
Intent
안드로이드 Component를 호출 및 변경하는 내용을 관리하는 App 관리자 나 최상위 Component 정도로 이해하면 좋다 Activity 전환할때 주로 intent를 사용하며 표시해 준다.
Activity
안드로이드에서 화면을 보여주는 단위이다. Android project에서 최소 하나의 activity가 있어야 한다.
Service
백그라운드 작업을 하는 공간이라고 보면 된다. 어떤 Activity에서 한 Service를 실행 시키고 Activity를 종료하여도 Service는 꺼지지 않고 백그라운드에서 계속 돌게 된다.
Broadcast Receiver
System 전반에서 특정 이벤트에 대해 응답하는 역할을 한다. 배터리가 부족하거나, 스크린 캡쳐될 때, 다운로드가 완료되었을 때 등 이러한 행위들이 Broadcast Receiver를 통해 응답받을 수 있다. 하지만, 직접적으로 ui로 알려 주지는 않고 사용자에게 알려 주려고 하면, notification, toast 등을 이용해서 알려 주어야 한다.
Contents Provider
앱 내에서 사용할 수 있는 데이터를 공유하기 위한 구성요소로 앱에서 자료를 저장할 때 DB를 사용하는데 이 DB는 해당 앱 외에는 다른 앱이 접근하는 것이 불가능하지만, Contents Provider의 역할 중에 하나가 외부 앱이 DB에 접근하는 것을 막는 동시에 DB중에 원하는 것들만 공유할 수 있도록 한다.
Intent Filter
명시적 인텐트 : 호출할 컴포넌트를 명확하게 알려주는 것
암시적 인텐트 : 호출할 컴포넌트를 정확하게 아는 것이 아니라 추상적으로 호출 하고 싶을 때 사용
java
앱 내 동작을 정의하는 코드들
android test : 안드로이드 프레임워크를 가지고 테스트
test : 유닛 테스트
res
앱 내 사용하는 자원들의 집합 (사진, 아이콘, 색상, 문자 등)
Top comments (0)