# 일반적인 애플리케이션 작성 절차
1. 사용자 인터페이스 작성(XML)
2. 자바 코드 작성(JAVA) - class 파일 만듦
3. 매니페스트 파일 작성(XML) - 적재 파일
# 사용자 인터페이스 작성
- XML을 이용하여 사용자 인터페이스 화면을 디자인
# 자바 코드 작성
- 필요한 기능 부여
# 매니페스트 파일 작성
- 애플리케이션을 구성하고 있는 컴포넌트를 기술하고 실행 시에 필요한 권한을 지정함
# 패키지 폴더의 설명
- java : 자바 소스 파일들이 들어있는 폴더. kr.ac.skuniv.hello(패키지의 이름)
- Gradle Scripts : 그레이들은 빌드 시에 필요한 스크립트
- res : 리소스(자원)들이 저장되는 폴더. drawable에는 해상도 별로 아이콘 파일. layout에는 화면의 구성 정의. values에는 문자열 같은 리소스 저장. menu에는 메뉴 리소스 저장
- manifest : XML 파일로 앱의 전반적인 정보 즉 앱의 이름이나 컴포넌트 구성과 같은 정보
# 자동 생성된 소스
# 패키지 지정
- 클래스들을 보관하는 컨테이너
- 일반적으로 인터넷의 도메인 이름을 역순으로 사용
# 필요한 클래스 import
- 외부에서 패키지나 클래스를 포함
- 앞에 androidx가 붙은 패키지는 안드로이드가 제공하는 패키지
# MainActivity 클래스 정의 (AppCompatActivity 상속)
- Activity로부터 상속받았으므로 액티비티가 됨
- 액티비티는 안드로이드에서 애플리케이션을 구성하는 4가지의 컴포넌트 중 하나
- 여러 개의 액티비티 가질 수 있으나 한 번에 하나만 상호작용 가능
# 어노테이션(@Override)
- 컴파일러에게 추가적인 정보를 주는 것
- 부모 클래스의 메소드를 재정의
# onCreate(Bundle savedInstanceState) 메소드
- 액티비티가 생성되는 순간 한 번만 호출
- 모든 초기화와 사용자 인터페이스 설정 담당
- savedInstanceState는 어플리케이션이 이전에 실행되었던 상태를 전달해줌
- super.onCreate(savedInstanceState); 는 부모 클래스인 AppCompatActivity 클래스의 함수를 호출
# setContentView(R.layout.activity_main)
- 액티비티의 화면을 설정하는 함수
# 수직, 수평 레이아웃
- android:orientation=“vertical” : 수직
- android:orientation=“horizontal” : 수평
# 안드로이드 애플리케이션의 실행이 시작되는 곳
- 안드로이드에는 main()이 없음
- 액티비티별로 실행됨
- 액티비티 중에서는 onCreate() 메소드가 가장 먼저 실행됨
# XML을 이용하여 사용자 인터페이스 기술
1. 코드를 이용 (자바)
2. xml을 이용 (안드로이드 선호 방법)
- UI화면의 구성을 xml을 이용하여 선언적으로 나타냄
- 애플리케이션의 외관과 애플리케이션의 로직을 서로 분리
- 빠르게 UI를 구축
# <TextView> 의 속성
- xmlns:android : xml 이름 공간의 선언
- android:id : 유일한 아이디를 할당. 이 아이디로 소스 코드에서 텍스트 뷰를 참조
- android:layout_width : 화면에서 얼마나 폭을 차지하는지. match_parent는 전체 화면의 폭을 다 차지함
- android:layout_height : 화면에서 얼마나 길이를 차지하는지. wrap_content는 콘텐츠를 표시할 정도만 차지함
- android:text : 화면에 표시하는 텍스트를 설정
# XML
- 시작 태그로 시작되어 종료 태그로 끝나는 논리적인 구성요소를 요소(element)
- <Greeting>Hello, world.</Greeting>가 요소
- 속성(attribute)는 요소의 속성으로서 “이름/값”의 쌍으로 구성
- <img src=“madonna.jpg” alt=’by Raphael’/>에서는 img요소는 src와 alt라는 2개의 속성을 가짐
# 리소스
- 안드로이드에서 드로우블, 레이아웃, 이미지, 문자열 들을 리소스로 취급
# 코드와 리소스를 분리하는 이유
- 안드로이드가 탑재된 장치들이 다양해지면서 언어나 화면 크기에 따라서 리소스를 다르게 하는 것이 필요 (가로형태, 세로 형태)
# 문자열 리소스
- xml로 기술. 영어버전, 한국어 버전
# 매니페스트 파일
- 하나의 어플리케이션 안에 하나의 액티비티 or 여러 개의 액티비티가 포함
'전공 공부 > 안드로이드프로그래밍' 카테고리의 다른 글
이벤트 처리 (0) | 2021.01.14 |
---|---|
사용자 인터페이스 기초 (0) | 2021.01.14 |
안드로이드 기초 사항 (0) | 2021.01.13 |
파이어베이스 연동 (0) | 2021.01.13 |
공공 데이터 포털의 시도별 실시간 평균정보 조회 API를 이용해 실시간 측정정보 XML을 Parsing 하고 Google Map에 아래와 같이 Marker를 배치해 서울과 부산의 pm10의 값을 출력하는프로그램 (0) | 2021.01.13 |