0. JAVA 코드 작성 및 수정
단축키
Alt+Enter : 자동으로 임포트
Ctrl+Alt+o(알파벳 ‘o’) : 불필요하게 임포트된 문장 제거
Ctrl+Alt+L : 소스코드가 보기 좋게 정렬
- 이벤트 버튼에는 순서가 없다. 언제 눌릴 지 모르기 때문
OnClick(): 이벤트 함수
OnClickListener( ) : 버튼 클릭하면 실행되는 함수 (언제 클릭되는지 항상 듣고있음)
setOnClickListener( ) : 클릭되는 버튼을 setting하는 함수
1. Android Studio 프로젝트 관리
- 프로젝트 내보내기/가져오기 기능이 따로 없음
- 프로젝트가 생성된 폴더를 통째로 복사하거나 압축하여 보내거나 가져와야 함
Activity : 스마트폰 화면을 의미
activity_main.xml : 화면 디자인 파일
MainActivity.java : 화면에서 할 일을 프로그래밍 + activity_main.xml 파일에 포함된 위젯의 접근 방법 & 위젯의 이벤트 발생 시 작동하는 코드
기본틀

ConstraintLayout: (default)
LinearLayout: 수직/수평이든 간에 자동으로 일렬로 배치, 프로젝트 시작 전에 이걸로 바꿔주는 게 편함
match_parent: 전체 레이아웃 크기에 맞춤
wrap_content: 콘텐츠 크기에 맞춤
id: "@+id/지정할 아이디" 형식
@는 리소스에서 참조하라는 의미, @+는 리소스에 추가하라는 의미
text: "@string/넣고싶은 텍스트"형식
- 여기에 문자열을 넣어도 되지만, 되도록이면
strings.xml에 모아두는 것이 좋다.

(단, [app]-[res]-[values] 밑에 strings.xml 파일을 만들고 해당 문자열 이름으로 문자열을 지정해야함)
2. 프로젝트 폴더의 구성
- manifests 폴더: 안드로이드 앱 파일이 전부 들어있음
- java 폴더: 패키지명의 하위 폴더 안에
MainActivity.java 프로그래밍 파일이 들어있음
- res 폴더: UI와 관련된 파일이 들어있음
- drawable 폴더: 이미지 파일 저장
- layout 폴더: 액티비티(화면)을 구성하는 xml 파일을 넣으면 됨
- values 폴더: 문자열을 저장하는 string.xml, 색상표를 저장하는 colors.xml, 스타일을 저장하는 themes.xml 등이 들어 있음
- menu 폴더: 메뉴 XML 파일이 저장되어 있음
1. manifests 폴더
- AndroidManifest.xml 파일이 들어 있음
- 앱의 여러 가지 정보를 담고 있음
2 java 폴더
- 하위에 패키지명의 하위 폴더가 존재
- 안드로이드 프로젝트를 생성할 때 입력한 패키지 이름과 동일
- 패키지 이름 아래에 MainActivity.java로 메인 Java 소스가 들어 있음
3. java (generated) 폴더
- Android Studio 3.2부터 제공되는 폴더
- 내부적으로 사용
4. res 폴더
- 앱 개발에 사용되는 이미지, 레이아웃, 문자열 등이 들어가는 폴더
- drawable 폴더 : 이미지 파일 저장
- layout 폴더 : 액티비티(화면)을 구성하는 xml 파일을 넣으면 됨
- values 폴더 : 문자열을 저장하는 string.xml, 색상표를 저장하는 colors.xml, 스타일
을 저장하는 themes.xml 등이 들어 있음
- menu 폴더 : 메뉴 XML 파일이 저장되어 있음
5. res(generated) 폴더
- Android Studio 3.5부터 제공
- 내부적으로 사용
6. Gradle Scripts 폴더
- build.gradle (Module: app) : 빌드 스크립트 핵심 파일
- local.properties : 컴파일되는 SDK의 경로가 들어 있음
- gradle.properties: JVM 관련 메모리가 설정되어 있음
3. R 클래스
레이아웃 파일, strings.xml에 들어있는 문자열, 버튼의 id, 이미지 파일의 아이디 등은 모두 R 클래스에 자동으로 등록된다.
이 파일은 컴파일된 파일이라 열어볼 수는 없지만, 이 파일에 등록된 위젯은 다음 그림과 같이 계층형으로 저장되어 있다.

계층형으로 저장된 파일들은 우리가 불러올 수 있는데 그 방식은 다음과 같다.
R.drawable.그림파일아이디id
3-1. 안드로이드 애플리케이션의 큰 윤곽과 작성법

4. 프로젝트 폴더의 구성
1. java 폴더
- 하위에 패키지명의 하위 폴더가 존재
- 안드로이드 프로젝트를 생성할 때 입력한 패키지 이름과 동일
- 패키지 이름 아래에 MainActivity.java로 메인 Java 소스가 들어 있음
2. java (generated) 폴더
- Android Studio 3.2부터 제공되는 폴더
- 내부적으로 사용
3. res 폴더
- 앱 개발에 사용되는 이미지, 레이아웃, 문자열 등이 들어가는 폴더
- drawable 폴더 : 이미지 파일 저장
- layout 폴더 : 액티비티(화면)을 구성하는 xml 파일을 넣으면 됨
- values 폴더 : 문자열을 저장하는 string.xml, 색상표를 저장하는 colors.xml, 스타일을 저장하는 themes.xml 등이 들어 있음
- menu 폴더 : 메뉴 XML 파일이 저장되어 있음
4. res(generated) 폴더
- Android Studio 3.5부터 제공
- 내부적으로 사용
5. manifests 폴더
- AndroidManifest.xml 파일이 들어 있음
- 앱의 여러 가지 정보를 담고 있음
6. Gradle Scripts 폴더
- build.gradle (Module: app) : 빌드 스크립트 핵심 파일
- local.properties : 컴파일되는 SDK의 경로가 들어 있음
- gradle.properties: JVM 관련 메모리가 설정되어 있음