[Android] Activate, ViewBinding, Layout

KW_Seo·2023년 6월 8일
0

[Android] Study

목록 보기
1/1

I. Application의 동작 순서

  • 사용자가 App의 아이콘을 Click
  • AndroidManifest.xml에 기록되어있는 Activity들 중에서
    'android.intent.action.MAIN'으로 설정되어 있는 intent filter가 있는 activity 서치
  • 찾은 activity에 name이 설정되어 있는 클래스 이름을 서치

II. ViewBinding

ViewBinding이란?

  • Layout의 XML파일에서 선언한 View 객체를 코드에서 쉽게 이용하는 방법
  • 해당 기능을 통해서 개발자는 View를 직접 추출하지 않고 사용이 가능하다.
    -> Why? : Android OS에서 직접 View를 추출해서 변수로 담아주기 때문

ViewBinding의 기능

  • View의 ID와 동일한 이름의 변수를 만들고 해당 변수에 View의 객체가 들어있어서
    일의 양(코드의 양)을 줄여준다.

ViewBinding을 사용하는 방법

android {
	(... 생략 ...)
   	viewBinding {
    	enabled = true
    }
}
  • [Gradle Scripts] - [build.gradle (Module:app)] 에 들어가서
    위와 같이 android 영역에 buildFeature를 선언하고 다음과 같이
    코드를 작성해주면 된다.

ViewBinding을 적용하는 방법

  • 앞에서도 설명하였듯이, ViewBinding은 코드의 양을 줄여준다.
package com.name.package_name

class MainActivity : AppCompactActibity() {
	override fun onCreate(savedInstance: Bundle?) {
    	super.onCreate(savedInstance)
        setContentView(R.id.Activity_main)
    }
}
package com.name.package_name

class MainActivity : AppCompatActivity() {

	lateinit var activityMainBinding: ActiivtyMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(activityMainBinding.root)
  • 위와 같이 변경하였을 떄 우리는 더이상 Kotlin으로 App을 제작할 때 View의 객체를 선언하고 하나하나 가져올 필요가 없다!

III. Layout

  • 해당 포스팅에서는 Android Studio에서 사용하는 모든 Layout이 아닌
    LinearLayout, ConstraintLayout에 대해서만 다룹니다.

LinearLayout

  • Orientation(방향) : horizontal(가로 배열) | vertical(세로 배열)
  • layout_weight : 화면을 구성할 때 여백을 채우거나,
    각 버튼에 설정하여 가중치를 두는 속성

ConstraintLayout

profile
Preparing Android Developer

0개의 댓글