์นํ๊ฒฝ ์ฑ๋ฆฐ์ง ๋์
๋์ ์ผ์ ๊ธฐ๋ก ๋ค์ด์ด๋ฆฌ
- ๊ธฐํ : ๋ฐ์์ , ์ด์ง๋ฏผ
- ์๋๋ก์ด๋ ๋ค์ดํฐ๋ธ : ์ ์์ , ์กฐ์์ง
- ๋ฐฑ์๋ : ๊น์์ธ, ํ์ฑ์ฐ ( ๐ ๋ฐฑ์๋ Repo )
๐ @eunjjungg : Native ๊ธฐ์ ์คํ
- Android, Kotlin
- ๋์์ธ ํจํด - MVVM + Repository Pattern
- Live Data, Data Binding
- Android Compose
- Android KTX
- Retrofit
- Material Design 3
- Custom View
- Glide
- ์์ ๋ก๊ทธ์ธ - Kakao, Naver API
- ์ด์ ๊ด๋ฆฌ - Jira, Github Issue
- ํ์ ๊ด๋ฆฌ ์ ๋ต - Gitflow
- ์ ๋๋ฉ์ด์ - Lottie
๐ป @eunjjungg : Native ๋ด๋น ๋ถ๋ถ
- ํ๋ก์ ํธ ์ธํ
- ํ๋ก์ ํธ ์์ฑ
- gitignore ์์ฑ
- layer ๋จ์ ํจํค์ง ๋ถ๋ฆฌ
- base code ์์ฑ (ํ๋๊ทธ๋จผํธ, ์กํฐ๋นํฐ, Retrofit ๊ด๋ จ)
- ๋์์ธ ๊ด๋ จ ์ฝ๋ ์์ฑ (์์, ์ฌ์ด์ฆโฆ)
- ํฐํธ ์ธํ (์ฌ์ฉํ์ง ์๋ ํ ์คํธ๋ค ์ ์ธํ์ฌ ํฐํธ ์ฉ๋ ์ค์ด๋ ์์ ํฌํจ)
- ์ฑ ์์ด์ฝ ์ธํ
- ์ปค๋ฐ, ์ด์, PR ํ ํ๋ฆฟ
- ํ์๊ฐ์ ๊ด๋ จ ๋ก์ง (์ ์ฒด ๋ก๊ทธ์ธ ํ๋ฆ ํจ๊ป ๊ณ ๋ คํจ)
- ์นด์นด์คํก, ๋ค์ด๋ฒ ์์ ๋ก๊ทธ์ธ
- ํ ํ๋ฉด ๊ด๋ จ
- ์ฑ๋ฆฐ์ง ๊ด๋ จ ๋ก์ง
- ๋ค๋ฅธ ์ ์ ํ๋กํ ๊ด๋ จ ๋ก์ง
- base : boilerplate code๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํด๋์ค๋ค ์กด์ฌ
- model : model ๊ด๋ จ ์ฝ๋ ๋ถ๋ฆฌ
- network : ์๋ฒ ์ฐ๊ฒฐ Interface ๋ฐ ์์ ๋ก๊ทธ์ธ ๊ด๋ จ ๋ก์ง
- repository : ์๋ฒ ์ฐ๊ฒฐ Repository
- ui : ui ๊ด๋ จ ์ฝ๋ ๋ถ๋ฆฌ
- adapter :
RecyclerView
๊ด๋ จ ์ด๋ํฐ ํด๋์ค ๋ถ๋ฆฌ - custom : custom view ๊ด๋ จ ํด๋์ค ๋ถ๋ฆฌ
- fragment :
fragment
๊ด๋ จ ํด๋์ค ๋ถ๋ฆฌ - interface : ui์ ๊ด๋ จ๋ interface ๋ถ๋ฆฌ
- view :
activity
๊ด๋ จ ํด๋์ค ๋ถ๋ฆฌ- compose :
activity
์ค ์ปดํฌ์ฆ๋ก ๊ตฌํํ ๊ฒ๋ค ๋ชจ์
- compose :
- adapter :
- util : ์ ์ฒด ์ฑ์์ ์ฌ์ฉ๋๋ ์ ํธ ํด๋์ค, ํจ์ ๋ถ๋ฆฌ
- viewmodel : ๋ทฐ๋ชจ๋ธ ํด๋์ค ๋ถ๋ฆฌ
๐ฑ @eunjjungg : ๊ตฌํ ํ๋ฉด ๋ฐ ์ค๋ช
-1.online-video-cutter.com.mp4
- ๋ค์ด๋ฒ, ์นด์นด์ค API๋ฅผ ์ฌ์ฉํ ์์ ๋ก๊ทธ์ธ ๊ตฌํ
- ์น๋ทฐ๋ฅผ ์ฌ์ฉํ ์ฝ๊ด ๋์ ๋ฌธ๊ตฌ ๋ ธ์ถ
- ์์
๋ก๊ทธ์ธ์ ํ์ํ ๋
ธ์ถ๋๋ฉด ์ ๋๋ ์ ๋ณด
local.properties
๋ก ๋ถ๋ฆฌ - ํ ํฐ ๊ธฐ๊ธฐ๋ด ์ ์ฅ์
Encrypted SharedPreference
์ฌ์ฉ
-2.online-video-cutter.com.mp4
- ์์ด๋ ์ ํจ์ฑ ๊ฒ์ฌ - ์ ๊ท์
- ์์ด๋ ์ค๋ณต ๊ฒ์ฌ - ์๋ฒ๋ก๋ถํฐ ์๋ต
- ์๋ฒ์ ๋ถํ๊ฐ ๊ฐ์ง ์๋๋ก ์ฌ์ฉ์๊ฐ ์์ด๋ ์ ๋ ฅ ํ 1์ด ๋์ ๋ ์ด์์ ์ ๋ ฅ์ด ์์ ๋๋ง ์ค๋ณต ๊ฒ์ฌ ์์ฒญ ํ ๋ก์ง ์ฒ๋ฆฌํ๋๋ก ๊ตฌํ
- ๋์์ธ - google material์
TextInputLayout
์ฌ์ฉ
-3.online-video-cutter.com.mp4
- ๊ฐ
fragment
๋ชจ๋ ๊ฐ์viewmodel
์ฌ์ฉํ๋๋ก ๊ตฌํ - ๋ง์ง๋ง ๋ค์์ผ๋ก ๋์ด๊ฐ๊ธฐ ๋ฒํผ ํด๋ฆญ ์ ํ์๊ฐ์ ์ ์ฐจ ์๋ฃ๋๊ณ ์๋ฒ๋ก ๊ฐ์ ์์ฒญํ๋๋ก ๊ตฌํ
- ๊ฐ์ ๋์ค ๋๊ธด๋ค๋ฉด ์นด์นด์ค ๋ก๊ทธ์ธ์์ ํ์ ์ญ์ ํ๋๋ก ๊ตฌํ
_1.mp4
- Android Compose๋ก ๊ตฌํ
- Lottie๋ก ์ ๋๋ฉ์ด์ ๊ตฌํ
_4.mp4
_4.mp4
- ๊ฐ ๋ํ ์ฑ๋ฆฐ์ง์ ์ ์ ์ ์ฐธ์ฌ ์ฑ๋ฆฐ์ง ๊ตฌํ
- ์๋ ๋์์์ ์ ์ ๊ฐ ํ์ฌ ์ฐธ์ฌ์ค์ธ ์ฑ๋ฆฐ์ง์ ์ํ๋ฅผ ์ฐธ์ฌํ์ง ์์์ผ๋ก ๋ณ๊ฒฝํ์์ ๋ ํ ํ๋ฉด์ ๋ชจ์ต
_3._.mp4
- Shared Element ์ฌ์ฉํ์ฌ ํ๋ฉด ์ ํ ์ฌ์ฉ
fab
์ฌ์ฉRecyclerView
๋ก ๊ตฌํํด์ผ ํ๋๋ฐ ์ ์ฒด ํ๋ฉด์ด ์คํฌ๋กค ๋์ด์ผ ํ๋ฏ๋ก ํ๋ฉด์ ๋ชจ๋ ๊ตฌ์ฑ ์์ ๊ฐ๊ฐ ์ปดํฌ๋ํธํํจ- ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ์ผ์ ๋ถ๋ถ์ ์ปค์คํ ๋ทฐ๋ก ๋ง๋ฆ
- ์ ์ ๊ฐ ์ฌ๋ฆฐ ์ด๋ฏธ์ง ์ ์ฌ๊ฐํ์ผ๋ก ํ์๋๋๋ก ์ง์ ์ฌ์ด์ฆ ๊ณ์ฐํ์ฌ ํฌ๋กญ (์ถ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ X)