유튜버 '슬기로운 생활코딩' 님의 강의를 듣고, 정리해보았습니다.

[링크] 


 

안드로이드 프로젝트 파일 구성

- AndroidManifest.xml [매니페스트 파일]

 > manifest 나타내다, 분명히하다.

 > 어플리케이션의 속성을 설정한다.

        아이콘 모양

        어플리케이션 이름

        어플리케이션 테마 등

 > 어플리케이션 내 모든 액티비티를 정의한다.

        액티비티 이름

        액티비티 경로

 > .xml 파일(eXtensible MarkUp Language)로 이루어져있다.

 > .xml은 태그(tag)를 사용하는 언어이다.

 

- com.example.@프로젝트@

 > 어플리케이션의 모든 액티비티 클래스의 기능(Operation)을 명시한다.

 > 액티비티 각각 클래스를 가지며, res/layout/에 있는 레이아웃 파일들과 연동된다!

 > 레이아웃 파일은 액티비티의 뷰(View)를 설정한다면, 클래스 파일은 액티비티 내 컴포넌트와 뷰 간의 기능을 정의한다.

 

 

액티비티 레이아웃 / Activity layout

 

- res/raw, res/layout

 > resource(자원)을 나타내는 폴더로, 어플리케이션에 사용되는 자원을 모두 저장해놓는 폴더이다.

 > activity.xml 파일로, 액티비티의 레이아웃을 설정할 수 있다.
 > 레이아웃은 코드형식(왼쪽), 디자인(오른쪽) 두 가지 방식으로 설정할 수 있다.

 > 속성 정리

    <LinearLayout> </LinearLayout>

또는,  <LinearLayout ~~~~~~~~~~~~/> 처럼 태그화하여 액티비티 내 여러 객체를 정의한다.

 > android:id = "@+id/num4"

 > 뷰의 아이디를 설정한다. @+id 키워드를 사용해서 안드로이드 속성 라이브러리에 속성으로 추가할 수 있다. 추가된 속성은 클래스 파일에서 변수로 사용한다.

 > android:layout_width/height = "@@dp"

 > 해당 뷰의 너비와 높이를 설정한다.

 > android:layout_margin___ = "@@dp"

 > 해당 뷰의 다른 뷰와의 간격을 설정한다.

 > android:textSize = "bold/italic 등등 *소문자로 시작함!

 > android:gravitiy = 뷰의 중력을 설정한다. [세부 내용]  

 

- DP (Density Independent Pixel)

 > 픽셀과 상관없이 독립적인 크기를 나타내는 단위. 스마트폰 화면 종류에 상관없이, 비율로써 뷰를 보여준다.

- SP (Scale Independent Pixel)

 > 안드로이드에서 주로 쓰이는 텍스트 단위로, 유저가 폰트 크기나 스타일을 자유롭게 변경하는 것을 허용한다.

 > 노안, 접근성, UI와 관련됨. Q.보통 SP로 사용하나?

- PX (Pixel)

 > 픽셀. '화소' 단위이며, 스마트폰 화면 크기와 상관없이, 고정된 크기를 가진다.
 > 눈에서 보이는 크기가 고정되며, 1inch = 96 pixel / 1 pixel = 약 0.264 mm /

- PT(Point)

 > iOS에서 사용하는 단위이며, 본질적으로는 좌표 개념이지만 dp단위와 다르게 안드로이드처럼 비율로 늘어나지 않는다.
 > 고정 영역에 대한 이해야 필요하다.

 

 

- Kotlin (코틀린)

 > 키워드 모음

  val : 값을 변경할 수 없는 상수를 선언하는 키워드. Java의 final, C/C++의 const와 유사한 개념이다. Immuable

  var : 값을 변경할 수 있는 변수를 선언하는 키워드. Mutable

  func : 함수를 선언할 때 사용하는 키워드

  코틀린에서 함수의 기본형은 아래와 같다.

func max(num1: Int, num2: Int) : Int {
	return if (a>b) a else b
}

 override : 자바에서 @override로 재선언하는 것과 달리, 코틀린에서는 키워드를 사용한다.

 

 

 

 

'프로그래밍' 카테고리의 다른 글

웹개발 TID(Today I Learned) 2일차  (0) 2022.06.12
웹개발 TID(Today I Learned) 1일차  (0) 2022.06.09
정보처리산업기사 - EAI, CRM, CPM  (0) 2021.04.03
디버깅이란?  (0) 2021.04.02
코틀린(Kotlin)이 뭐지? 내 경험  (0) 2021.03.17