https://www.youtube.com/watch?v=zx20-3GSdHw
Activity Embedding
ํฐ ํ๋ฉด์ ๊ฐ์ง ๋๋ฐ์ด์ค์์ ์กํฐ๋นํฐ๋ฅผ ๋ฒ ์ด์ค๋ก ํ๋ ์ฑ ํ๋ฉด๋ค์ ์ต์ ํ๋ฅผ ๋๋๋ค.
๋ ์กํฐ๋นํฐ๋ฅผ ํฐ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์์ด ํ ํ๋ฉฐ์ ๋๋ํ ๋ณด์ฌ์ค๋ค.
๋ด๋ถ ๋์
์๋์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๋ฅธ์ชฝ ํ๋ฉดpresentation๊ณผ ์ค์ ๋ค์ ์ ํํ๋ค. ๋ฐํ์์๋ ์๋์ผ๋ก ์๋์ฐ ํฌ๊ธฐ ๋ณ๊ฒฝ์ ๋์ํด ํด๋๋ธ ํฐ์ ์ ๊ฑฐ๋ ํผ์น ๋ ์ค๋ฅธ์ชฝ ๋ ์ด์์์ ์๋์ผ๋ก ์ก์์ค๋ค.
์๋๋ก์ด๋์ ๊ธฐ๋ณธ์ ์ธ ์กํฐ๋นํฐ ์์๋ฅผ ๋ณ๊ฒฝ์ํค์ง ์๋๋ค. ๋ ๊ฐ์ ์ปจํ ์ด๋๋ค์ด๋ ์คํ๋ค(์ฃผ์ ์คํprimary stack, ๋ถ์ฐจ ์คํsecondary stack)์ ์์ฑํ๋ค. ๋ถ์ฐจ ์คํ์ ํญ์ ์ต์์์ ์๊ณ , ์ฃผ์ ์คํ ์์ ์๋ค. ๊ธฐ๊ธฐ ํ๋ฉด์ด ์๋ค๋ฉด ๋ถ์ฐจ ์คํ์ ํ๋ฉด์ด ๋ณด์ด๊ณ , ๊ธฐ๊ธฐ์ ํ๋ฉด์ด ์ถฉ๋ถํ ํฌ๋ค๋ฉด ๋ ์คํ์ ํ ํ๋ฉด์์ ๋๋ํ ๋ณด์ธ๋ค.
๊ตฌํ
๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
1. XML ๊ตฌ์ฑconfiguration ํ์ผ ์์ฑ
2. Jetpack WindowManager API ์ด์ฉ
1. XML ๊ตฌ์ฑconfiguration ํ์ผ ์์ฑ
xml๋ก ์ด๋ค ์ฑ์ ํ๋ฉด๋ค์ด ํ๋ฉด ๋ถํ ์์ ์ผ๋ก ์ ์ดํ ์ง, ๊ทธ ํ๋ฉด๋ค์ ์ด๋ป๊ฒ ๋ณด์ฌ์ค์ง์ ๋ํ ๋ชจ๋ ๊ท์น๋ค์ configuration file๋ก ์์ฑํ๋ค.
์์ ํ๋
์ด๋ ๊ฒ ํ์ผ์ ๋ง๋ค๊ณ ๋์ WindowManager๊ฐ ๊ธฐ์ ๋ ๊ท์น๋๋ก ์ปดํฌ๋ํธ๋ฅผ ๋ค๋ฃจ๋๋ก RuleController๋ฅผ ์ฌ์ฉํ๋ค. ์ด RuleController๋ 1) xml configuration ํ์ผ๋ค์ parseํ๊ณ 2) ์์คํ ์ ์ ์ฉํ๋ค.
2. Jetpack WindowManager API ์ด์ฉ
WindowManager dependency๋ฅผ ๊ธฐ์ ํ๋ค.
AndroidManifest ํ์ผ์ Activity embedding์ ๊ตฌํํ ๊ฒ์ ์๋ฆฐ๋ค.
์ฌ์ฉ๋ฒ์ WindowManager API ์ค๋ช ์ ๋ณด๋ผ๊ณ ํ๋๋ผ.
๋ค๋ฅธ ๊ธฐ๋ฅ
Nested splits
๊ณ์ธต์ ์ธ ํ์์ ์ ์ฉ
Horizontal splits
ํ๋ฉด๋ค์ ์ ์๋๋ก ๋ฐฐ์น. ํด๋๋ธ ๊ธฐ๊ธฐ์ ํ ์ด๋ธํ ๋ชจ๋์์ ์ ์ฉํ๋ค.
Cross application activity embedding
Android 13๋ถํฐ ๋ค๋ฅธ ์ฑ๋ค ๊ฐ activity embedding์ด ๊ฐ๋ฅํ๋๋ก ๊ธฐ๋ฅ์ ์ ๊ณตํจ. ํธ์คํธ ์ฑ ์กํฐ๋นํฐ์ ๋ค๋ฅธ ์ฑ ์กํฐ๋นํฐ๋ฅผ ํํ๋ฉด์ ๋์ฐ๋ ๊ฒ์ผ๋ก, ํธ์คํธ ํ๋ก์ธ์ค์ ๋ง์ ๊ถ๋ ฅ์ ์ค๋ค. ๊ทธ๋์ opt in ๊ธฐ๋ฅ์ผ๋ก ์์คํ ์์ ์ ๊ณตํ๊ณ , ์ฌ์ฉ์๋ ์๋๋ก์ด๋์๊ฒ ์ด๋ค ์กํฐ๋นํฐ๊ฐ embedded๋์ด์ผ ํ๋ ์ง ์๋ ค์ผ ํ๋ค.