[Project] Week6 Assignment
GitHub
Notion
π νμ ꡬν κΈ°λ₯
λ©μΈ νμ΄μ§ ( MainPageActivity )
- λ©μΈ νμ΄μ§λ μ±μ 첫 νλ©΄μΌλ‘, νμ ꡬν κΈ°λ₯λ€μ λν μ§μ
μ μ μ 곡ν΄μΌ ν©λλ€.
- λ€μν Widgetμ νμ©νμ¬ λ§€λ ₯μ μΈ λ©μΈ νμ΄μ§λ₯Ό λ§λ€μ΄ 보μΈμ.
- λμμΈ κ΅¬μ±μ μμ¨μ
λλ€. νμ μμ£Ό μ¬μ©νλ μ±μ ꡬ쑰λ₯Ό μ°Έκ³ ν΄ λ³΄μΈμ.
β λ¨ μμ§ λ°°μ°μ§ μμ κΈ°λ₯λ€μ μ°μ§ λ§μ μ£ΌμΈμ.
(ViewBinding, Fragment, RecyclerView, Adapterλ μ¬μ©νμ§ λ§μμ£ΌμΈμ.)
- μ¬μ©μμκ² ν₯λ―Έλ‘μ΄ μ½ν
μΈ λ 곡μ§μ¬νμ νμνμ¬ μ¬λ°©λ¬Έμ μ λν΄ λ³΄μΈμ.
λν
μΌ νμ΄μ§ ( DetailPageActivity )
- μ¬μ©μκ° λ©μΈ νμ΄μ§μμ μ νν μμ΄ν
μ μμΈ μ 보λ₯Ό μ 곡νλ νμ΄μ§μ
λλ€.
- μμΈ μ 보λ₯Ό ꡬ쑰νλ ννλ‘ νμνκΈ° μν΄
ConstraintLayout
μ νμ©νμΈμ.
- λ©μΈ νμ΄μ§μμ μμΈ νμ΄μ§λ₯Ό μμ±ν λ νμν dataλ₯Ό Intentλ‘ μ λ¬ν΄ 보μΈμ.
- μ¬μ©μμ μνΈμμ©μ μν λ²νΌμ΄λ λ§ν¬λ₯Ό ν¬ν¨νμ¬ λ€μν κΈ°λ₯μ μ 곡ν΄λ³΄μΈμ.
λ‘κ·ΈμΈ, νμ κ°μ
νμ΄μ§ ( SignInActivity, SignUpActivity )
- λΉλ°λ²νΈ μ
λ ₯ μ, 보μμ μ μ§νκΈ° μν΄ ***λ‘ ννν΄ μ£ΌμΈμ.
- λ‘κ·ΈμΈ μ΄νμλ μ¬μ©μ μ΄λ¦μ΄ νλ©΄μμ 보μ΄λλ‘ κ΅¬μ±ν΄ μ£ΌμΈμ.
λ‘κ·ΈμΈ, νμ κ°μ
μμΈ μ²λ¦¬
- μμΈ λ°μ μ μ¬μ©μμκ² μλ΄ λ©μμ§λ₯Ό νμνλ©°, κ°λ₯ν λ€μ λμμ μλ΄νμΈμ.
- μ¬μ©μμ μ
λ ₯ νΈμλ₯Ό μν΄ μ΄λ©μΌ, λΉλ°λ²νΈμ μ ν¨μ± κ²μ¬λ₯Ό μ€μκ°μΌλ‘ μ 곡ν΄λ³΄μΈμ.(TextWatcher λ±μ νμ©ν΄ 보μΈμ)
λ§μ΄ νμ΄μ§ ( MyPageActivity )
- μ¬μ©μ μ 보μ κ΄λ ¨λ κΈ°λ₯λ€μ 보μ¬μ£Όλ νμ΄μ§λ₯Ό 꾸며보μΈμ.
- λ΄ νλ‘ν νμ κΈ°λ₯, λ΄ κ²μλ¬Ό 보기 κΈ°λ₯ λ±
Activity μ νμ animation ꡬν
- νλ©΄μ μ νν λ UIκ° μμ°μ€λ½κ² μ νλλλ‘ ν©λλ€.
startActivity()
λ₯Ό νΈμΆν νμ overridePendingTransition()
λ©μλλ₯Ό νμ©νμ¬ λ€μν Activity μ ν μ λλ©μ΄μ
μ μ μ©ν΄λ³΄μΈμ.
μμ΄ λ²μ μΌλ‘ λ³κ²½ μ μ©ν΄λ³΄κΈ°(string.xml)
- Multi-Language μ§μμ μν΄ string.xmlμ ν΅ν΄ λ¬Έμμ΄μ κ΄λ¦¬νμΈμ.
res/values-en
λλ ν 리λ₯Ό νμ©νμ¬ μμ΄ λ¦¬μμ€λ₯Ό λΆλ¦¬ λ° κ΄λ¦¬ν©λλ€.
μΆκ° ꡬν κΈ°λ₯ (μ ν)
λκ·Έλ ImageView λ§λ€κΈ°
- μ¬μ©μμ νλ‘ν μ΄λ―Έμ§λ μμ΄μ½ λ±μ μνμΌλ‘ νμν΄ λ³΄μΈμ.
- μ΄λ―Έμ§μ ν΄μλμ λΉμ¨μ μκ΄μμ΄ μνμΌλ‘ μ νμλλλ‘ μ΅μ νν©λλ€.
android:scaleType
κ³Ό ν¨κ» android:clipToOutline
μμ± λ±μ νμ©ν΄λ³΄μΈμ.
μ€ν¬λ‘€ κΈ°λ₯ μΆκ°
- κΈ΄ λ΄μ©μ΄λ μ¬λ¬ μμ΄ν
μ ν¨κ³Όμ μΌλ‘ νμνκΈ° μν΄ μ€ν¬λ‘€μ μ§μν©λλ€.
ScrollView
λ₯Ό μ¬μ©νμ¬ μ€ν¬λ‘€ κ°λ₯ν λ μ΄μμμ ꡬνν΄ λ³΄μΈμ.
λ보기 κΈ°λ₯
- λ΄μ©μ΄ κΈΈ κ²½μ° μμ½ νμ ν, "λ보기" λ²νΌμ ν΄λ¦νμ¬ μ 체 λ΄μ©μ νμΈν©λλ€.
- μ¬μ©μκ° λ΄μ©μ μΆμνκ³ μΆμ λ "μ κΈ°" κΈ°λ₯λ ν¨κ» μ 곡ν©λλ€.
TextView
μ maxLines
μμ±κ³Ό View.OnClickListener
λ±μ νμ©νμ¬ κ΅¬νν΄ λ³΄μΈμ.
Font ν¬κΈ° μ€μ μ λ°λΌ κΈμ¨ ν¬κΈ° λ¬λΌμ§λλ‘ κ΅¬ν
- μ¬μ©μμ μμ€ν
μ€μ μ λ°μνμ¬ μ± λ΄ κΈμ¨ ν¬κΈ°λ₯Ό λμ μΌλ‘ λ³κ²½ κ°λ₯ν©λλ€.
π‘ μ€μ > λμ€νλ μ΄ > ν°νΈ ν¬κΈ°μμ μνλ ν¬κΈ°λ₯Ό μ ννμ¬ μ‘°μ κ°λ₯
- ν°νΈ μ€μ μ΄ λ°λμ΄λ λ μ΄μμμ΄ κΉ¨μ§μ§ μκ² μ΅μ νν©λλ€.
sp, dp
μ°¨μ΄λ₯Ό μ΄ν΄νκ³ TEXT ν¬κΈ°λ₯Ό μ§μ νμ¬ μμ€ν
μ€μ μ λ°μνκ² ν©λλ€.
Dark theme ꡬν
- μ¬μ©μμ μμ€ν
μ€μ μ λ°λΌ ν
λ§ λ³κ²½μ΄ κ°λ₯ν©λλ€.
π‘ μ€μ > λμ€νλ μ΄ > λ€ν¬ ν
λ§μμ ν κΈμ μΌκ±°λ λλ©΄μ λ€ν¬ ν
λ§λ₯Ό μ μ©νκ±°λ ν΄μ ν©λλ€.
- Dark modeμμλ λͺ¨λ μμκ° λͺ
ννκ² λ³΄μ΄λλ‘ μμ λ° λͺ
λ μ‘°μ ν΄ λ³΄μμ.
res/values, res/values-night
λλ ν 리λ₯Ό ꡬλΆνμ¬ λ€ν¬ λͺ¨λ μ μ© λ¦¬μμ€λ₯Ό μ μν©λλ€.
μΈλ‘/κ°λ‘ λͺ¨λ ui λΆλ¦¬ ꡬν
- μ¬μ©μκ° νλ©΄μ νμ ν λ UIκ° μμ°μ€λ½κ² μ νλλλ‘ ν©λλ€.
π‘ μ€μ > λμ€νλ μ΄ > νλ©΄ λ°©ν₯μ μλμΌλ‘ νμ μ΅μ
μ νμ±ννμ¬ νλ©΄μ κ°λ‘ λλ μΈλ‘ λͺ¨λλ‘ μλ μ ννκ² ν μ μμ΅λλ€.
- λ μ΄μμμ΄ κΉ¨μ§μ§ μλλ‘ κ° λͺ¨λμ λ§κ² μ΅μ νν©λλ€.
- λ μ΄μμ 리μμ€ ν΄λλ₯Ό
res/layout
μ res/layout-land
λ‘ κ΅¬λΆνμ¬ κ΄λ¦¬ν©λλ€.
νμ μ 보 κ΄λ¦¬ ꡬν
- μ±μ΄ μ€νλλ λμλ§ μμλ‘ νμ μ 보λ₯Ό μ μ₯νκ³ κ΄λ¦¬ν μ μλ κ°λ¨ν κ°μ²΄λ₯Ό μ€κ³ν΄ 보μΈμ.(Singletone)
- μμ) MemberManager
- κΈ°λ₯: addMember, findMember, removeMember
- data class νμ©