Inflate란?
사전적 정의로는 "부풀리다 ,올리다" 라는 의미를 가지고 있다.
안드로이드에서 Inflate는 xml에 표기된 레이아웃들을 메모리에 로딩된 후 객체화 시키는 과정이다.
안드로이드에서 inflate는 xml에 표기된 레이아웃들을 메모리에 객체화시키는 행동이다.
쉽게 말해, xml코드들을 객체화해 소스코드에서 사용하기 위함이다.
기본적으로 안드로이드에서 화면(Activity 단위)을 만들면 소스코드, 레이아웃.xml 이렇게 2개가 생성된다.
이때 Activity에서 setContentView() 함수가 바로 xml을 객체화시키는 Inflate동작이다.
class MainActivity : AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
//inflate
setContentView(R.lyaout.activity_main);
}
}
그렇기에 우리는 setContentView()함수 밑에서 xml에 배치했던 UI요소들을 맘껏 끌어와 쓸 수 있는것이다. 바로 메모리에 올라가 객체화 되었기 때문이다.
Activity가 onCreate 될 때 setContentView()를 하기 때문에 바로 메모리에 객체가 올라가 있게된다.
그래서 setContentView() 함수 실행 후 해당 xml에 있는 UI적 요소들을 아래와 같이 가져와 쓸 수 있는 것이다.
Button button = findViewById(R.id.btn1); // JAVA
var button : Button = findViewById(R.id.btn1) // Kotlin
'솝트 33기 안드로이드 > [솝트 33기] 안드로이드 왕초보 스터디' 카테고리의 다른 글
[안드로이드] 뷰 바인딩이란 무엇일까? (1) | 2023.10.09 |
---|