[๋ด๋ฐฐ์บ ]Android ๊ฐ๋ฐ ์ข ํฉ๋ฐ 1์ฃผ์ฐจ ๊ฐ์๋ฅผ ๋ฃ๊ณ BMI ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ค์๋ค.
Intent๋ ๋ฉ์์ง ๊ฐ์ฒด๋ก, ๋ค๋ฅธ ์ฑ ๊ตฌ์ฑ ์์๋ก๋ถํฐ ์์ ์ ์์ฒญํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค.
- Activity๋ ์ฑ ์์ ๋จ์ผ ํ๋ฉด์ ๋ํ๋ ๋๋ค. Activity์ ์ ์ธ์คํด์ค๋ฅผ ์์ํ๋ ค๋ฉด Intent๋ฅผ startActivity()๋ก ์ ๋ฌํ๋ฉด ๋ฉ๋๋ค. Intent๋ ์์ํ ์กํฐ๋นํฐ๋ฅผ ์ค๋ช ํ๊ณ ๋ชจ๋ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ต๋๋ค.
์กํฐ๋นํฐ๊ฐ ์๋ฃ๋์์ ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ๋ ค๋ฉด, startActivityForResult()๋ฅผ ํธ์ถํฉ๋๋ค. ์กํฐ๋นํฐ๋ ํด๋น ๊ฒฐ๊ณผ๋ฅผ ์ด ์กํฐ๋นํฐ์ onActivityResult() ์ฝ๋ฐฑ์์ ๋ณ๋์ Intent ๊ฐ์ฒด๋ก ์์ ํฉ๋๋ค.
- ์๋น์ค๋ฅผ ์์ํ์ฌ ์ผํ์ฑ ์์ ์ ์ํํ๋๋ก ํ๋ ค๋ฉด(์: ํ์ผ ๋ค์ด๋ก๋) Intent๋ฅผ startService()์ ์ ๋ฌํ๋ฉด ๋ฉ๋๋ค. Intent๋ ์์ํ ์๋น์ค๋ฅผ ์ค๋ช ํ๊ณ ๋ชจ๋ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์์ต๋๋ค.
- ๋ธ๋ก๋์บ์คํธ๋ ๋ชจ๋ ์ฑ์ด ์์ ํ ์ ์๋ ๋ฉ์์ง์ ๋๋ค. ์์คํ ์ ์์คํ ์ด ๋ถํ ๋ ๋ ๋๋ ๊ธฐ๊ธฐ๊ฐ ์ถฉ์ ์ ์์ํ ๋ ๋ฑ ์์คํ ์ด๋ฒคํธ์ ๋ํ ๋ค์ํ ๋ธ๋ก๋์บ์คํธ๋ฅผ ์ ๋ฌํฉ๋๋ค. Intent๋ฅผ sendBroadcast() ๋๋ sendOrderedBroadcast()์ ์ ๋ฌํ๋ฉด ๋ค๋ฅธ ์ฑ์ ๋ธ๋ก๋์บ์คํธ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
val intent = Intent(this, ResultActivity::class.java)
intent.putExtra("height", height) //"height"์ด key๊ฐ
intent.putExtra("weight", weight) //"weight"์ด key๊ฐ
startActivity(intent)
val height = intent.getIntExtra("height", 0) //key๊ฐ์ ๋ฐ์์์ height์ ์ ์ฅ
val weight = intent.getIntExtra("weight", 0) //key๊ฐ์ ๋ฐ์์์ weight์ ์ ์ฅ
Intent์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์์ 1๋ฒ์ ๊ฐ์ ๋ค์ผ๋ฉด์ ์ฌ์ฉํ ๋ฐฉ๋ฒ ๊ฐ์๋ฐ 2,3๋ฒ์ ์์ธํ ๋ชจ๋ฅด๊ฒ ์ด์ ๋ด์ผ ๋ค์ ์์๋ด์ผ๊ฒ ๋ค!