2024. 3. 21. 10:57, ๐ฑAndroid TIL
๋ฐ์ํ
~ Today I Learned ~
โ๏ธ ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (๋ด์ )
โ๏ธ ์๋๋ก์ด๋ ์ฑ๊ฐ๋ฐ ์
๋ฌธ ๊ฐ์ 4์ฃผ์ฐจ ์๊ฐ ๋ฐ ์ ๋ฆฌ
โ๏ธ ํฐ์คํ ๋ฆฌ ์คํจ ์์ (์ ๋ชฉ ํ ์ค ์ถ๋ ฅ)
โ๏ธ ๊ฐ์ธ ๊ณผ์ ์ผ๋ถ ๊ตฌํ
X๊ณํ์คํจX ํค์ค์คํฌ ๊ณผ์ ๋ฆฌํฉํ ๋ง
1. ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด (๋ด์ )
- zip์ ์ด์ฉํ ํ์ด๊ฐ ์ธ์์ ์ด์๋ค.
๐ก zip
val list1 = listOf("a", "b", "c")
val list2 = listOf(1, 2, 3)
val zipped = list1.zip(list2)
println(zipped) // ์ถ๋ ฅ: [(a, 1), (b, 2), (c, 3)] ์๋ก์ด ๋ฆฌ์คํธ ์์ฑ
- ๋ ๊ฐ์ ์ปฌ๋ ์ ์ ์์ผ๋ก ๋ฌถ์ด์ค๋ค.
- ๊ฐ ์ปฌ๋ ์ ์์ ๋์ผํ ์ธ๋ฑ์ค ์์น์ ์๋ ์์๋ค๋ผ๋ฆฌ ํ์ด(pair)๋ฅผ ๋ง๋ค์ด ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ค.
๐กmap
val numbers = listOf(1, 2, 3, 4, 5)
val squaredNumbers = numbers.map { it * it }
println(squaredNumbers) // ์ถ๋ ฅ: [1, 4, 9, 16, 25]
- ๊ฐ ์์๋ฅผ ์ฃผ์ด์ง ๋๋ค ํจ์์ ์ ์ฉํ์ฌ ์๋ก์ด ์ปฌ๋ ์ ์ ์์ฑํ๋ค.
- ๊ธฐ์กด ์ปฌ๋ ์ ์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋๋ค ํจ์๊ฐ ์ ์ฉ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ ์๋ก์ด ์ปฌ๋ ์ ์ ๋ฐํํ๋ค.
๐ก.indices
val list = listOf("a", "b", "c")
for (i in list.indices) {
println("Index $i: ${list[i]}")
}
- ์ปฌ๋ ์ ์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ ํน๋ณํ ํ๋กํผํฐ
- ์ปฌ๋ ์ ์ ๋ชจ๋ ์์์ ๋ํ ์ธ๋ฑ์ค๋ฅผ ๋ํ๋ด๋ ๋ฒ์(Range)๋ฅผ ์ ๊ณต
- ์ผ๋ฐ์ ์ผ๋ก ์ปฌ๋ ์
์ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ณตํ๋ ๋ฐ ์ฌ์ฉ
(for ๋ฃจํ์์ ์ปฌ๋ ์ ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ณตํ๊ฑฐ๋, ์ปฌ๋ ์ ์ ์ผ๋ถ ์์์ ๋ํ ์์ ์ ์ํํ ๋)
2. ์๋๋ก์ด๋ ์ฑ๊ฐ๋ฐ ์ ๋ฌธ ๊ฐ์ 4์ฃผ์ฐจ ์๊ฐ ๋ฐ ์ ๋ฆฌ
- ์๋๋ก์ด๋ 4๋ ์ปดํฌ๋ํธ(Activity, Service, Broadcast Receiver, Content Provider)
- Activity ๊ฐ๋
- Activity ๋ฑ๋ก(AndroidManifest.xml) ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ฐ๊ฒฐ(setContentView())
- Intent ๊ฐ๋ ๋ฐ ์ ํ(Explicit Intent, Implicit Intent)
- Intent ์ฌ์ฉ๋ฒ
- Activity ๊ฐ์ ๋ฐ์ดํฐ ์ ๋ฌ (putExtra, getExtra)
- ์กํฐ๋นํฐ ์๋ช ์ฃผ๊ธฐ์ ์ฝ๋ฐฑ ๋ฉ์๋ (onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()
์ธํ ํธ๋ฅผ ๋น๋กฏํ์ฌ ํฅ๋ฏธ๋ก์ด ๋ด์ฉ๋ค์ ๋ง์ด ๋ฐฐ์ ๋ค. ํ๋ก์ ํธ์ ๋ง์ด ์์ฉํด๋ด์ผ๊ฒ ๋ค.
3. ํฐ์คํ ๋ฆฌ ์คํจ ์์ (์ ๋ชฉ ํ ์ค ์ถ๋ ฅ)
white-space : nowrap; /* ๊ธ์ด ํ ์ค์์ ๋์ด๊ฐ์ง ์์*/
text-overflow: ellipsis; /* ๊ธ์ด ๊ณต๊ฐ๋ณด๋ค ๊ธด ๊ฒฝ์ฐ ...์ ๋ฃ์ด์ค */
- ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ ๋ชจ์ต์ฒ๋ผ ๋ฆฌ์คํธ ์ ๋ชฉ์ ๊ธ์ด ํ ์ค์ ๋์ด๊ฐ์ง ์๋๋ก ์์ ํ์๋ค.
- ์๋๋ ...์ด ์ถ๋ ฅ๋์ด์ผ ๋ง์ผ๋ ํด๋น ๋ด์ฉ์ ๋ด๊ณ ์๋ ๋ฐ์ํ ์ปจํ ์ด๋์ ํฌ๊ธฐ๊ฐ ์ ๋์ ์ด๊ณ ์ปค์ ...์ด ์ ์ฉ๋์ง ์๊ณ ์๋ค. ์ด ๋ถ๋ถ์ ๋ค์์ ์์ ํ๋ ค๊ณ ํ๋ค.
4. ๊ณผ์ ๊ตฌํ
- SigninActivity.kt์์ ์์ฑํด์ผ ํ ์๊ตฌ์ฌํญ์ ๋ชจ๋ ์๋ฃํ์๋ค. (์ธํ ํธ ์ฒ๋ฆฌ, ์์ด๋ ๊ฐ ๋๊ฒจ์ฃผ๊ธฐ)
- activity_home.xml์ ui๋ฅผ ๊ตฌ์ํ๊ณ , ๊ธฐ๋ณธ์ ์ธ ์ธํ ํธ ๊ฐ ๋ฐ๊ธฐ ๋ฐ ์ถ๋ ฅ, finish() ์ฒ๋ฆฌ๊น์ง ์์ฑํ์๋ค.
- ๊ตฌ์ฒด์ ์ธ ์๊ธฐ์๊ฐ์ ํ์๊ฐ์ ์ด ๋จ์๋ค. ์ฃผ์ด์ง ๊ณผ์ ๋ ๊ธ๋ฐฉ ํ ๊ฒ ๊ฐ๋ค.
~ Retrospect ~
๋งค์ผ์ ํ๊ณ ๊ฐ ์์ด๋ค๋ณด๋ ๋ญ๊ฐ ๋ญ์ง ๊ธฐ์ตํ๊ณ ๊ตฌ๋ถํ๋ ๊ฒ ์ด๋ ค์์, TIL ์ ๋ชฉ์ ํ์์ ๋ฐ๊ฟ๋ณด๋ ค๊ณ ํ๋ค.
๋ฐ์ํ
๐ฌ C O M M E N T