๐Ÿ“App Developing/Kotlin ๊ฐ•์ขŒ

kt ํŒŒ์ผ์—์„œ xml ํŒŒ์ผ์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ

Hush 2022. 7. 23. 11:44

Import๋ฅผ ํ†ตํ•ด id๋กœ ํŽธ๋ฆฌํ•œ ์ ‘๊ทผ

์šฐ์„  import ๋ฅผ ํ†ตํ•œ ํŽธ๋ฆฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ build.gradl (Module~) ํŒŒ์ผ์˜ plugins{} ์•ˆ์— ๋„ฃ์–ด์ฃผ์ž.

id 'kotlin-android-extensions'

 

๊ทธ๋Ÿผ ์ด์ œ ktํŒŒ์ผ์—์„œ ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ์š”์†Œ์˜ id๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ•„์š”ํ•œ ์ฝ”๋“œ๊ฐ€ import ๋œ๋‹ค.

 

 

Binding์„ ์ด์šฉํ•˜์—ฌ ์ ‘๊ทผ

๊ฐ€์žฅ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์šฐ์„  ๊ทธ๋ž˜๋“ค ํŒŒ์ผ์˜ android ํ•˜์œ„์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ์–ธํ•ด์ฃผ์ž

viewBinding {
	enabled = true
}

synkํ•ด์ค€ ๋‹ค์Œ, ๋ฐ”์ธ๋”ฉ์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

์ฝ”ํ‹€๋ฆฐ ํŒŒ์ผ๋กœ ์ด๋™ํ•œ ๋‹ค์Œ ๋ฐ”์ธ๋”ฉ ๊ฐ์ฒด๋ฅผ ํš๋“ํ•˜์ž.

์ด๋•Œ ์•กํ‹ฐ๋น„ํ‹ฐ ์ด๋ฆ„์„ ์ ์–ด์ค˜์•ผํ•˜๋Š”๋ฐ  xmlํŒŒ์ผ์˜ ์ด๋ฆ„์ด acticity_main์ด์—ˆ๋‹ค๋ฉด ์—ฌ๊ธฐ์„œ๋Š” ActivityMainBinding์ด๋ผ๊ณ  ์ ์–ด์ฃผ๋ฉด๋œ๋‹ค.

์ฆ‰ ์–ธ๋”๋ฐ”๋ฅผ ์—†์• ๊ณ  ์ฒซ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ณ  ๋ฐ”์ธ๋”ฉ์„ ๋ถ™์—ฌ์ฃผ๋ฉด ๋œ๋‹ค.

์˜ˆ์‹œ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    
    //๋ฐ”์ธ๋”ฉ ๊ฐ์ฒด ํš๋“
    val binding = ActivityMainBinding.inflate(layoutInflater)
    
    //์•กํ‹ฐ๋น„ํ‹ฐ ํ™”๋ฉด ์ถœ๋ ฅ
    setContentView(R.layout.activity_main)
}

์ดํ›„ ์ ‘๊ทผํ• ๋•Œ๋Š” binding.์š”์†Œid ์™€ ๊ฐ™์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.