λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

βœ’οΈ Android21

[Android] 15. λ ˆμ΄μ•„μ›ƒ : κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ(Grid Layout), ν”„λ ˆμž„ λ ˆμ΄μ•„μ›ƒ(Frame Layout) # λ ˆμ΄μ•„μ›ƒ : κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ(Grid Layout), ν”„λ ˆμž„ λ ˆμ΄μ•„μ›ƒ(Frame Layout) # λ ˆμ΄μ•„μ›ƒ : κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ(Grid Layout) : grid(격자) λ‚΄λΆ€μ˜ 셀에 μžμ‹ λ·°λ₯Ό λ°°μΉ˜ν•˜λŠ” λ·° κ·Έλ£Ή + 각각의 μžμ‹ λ·°κ°€ μžμ‹ μ˜ μœ„μΉ˜ 및 μ°¨μ§€ν•˜λŠ” μ…€ 개수λ₯Ό λ…λ¦½μ μœΌλ‘œ 지정 κ°€λŠ₯ - μžμ²΄μ— 자주 μ‚¬μš©λ˜λŠ” 속성 rowCount ν–‰μ˜ 개수 columnCount μ—΄μ˜ 개수 orientation κ·Έλ¦¬λ“œμ— λŒ€ν•΄ μˆ˜ν‰, 수직 λ°©ν–₯ 쀑 μš°μ„  μˆœμœ„ κ²°μ • - κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ μ•ˆμ— ν¬ν•¨λœ μœ„μ ―μ— λŒ€ν•΄ μ„€μ •ν•˜λŠ” 속성 layout_row μžμ‹ μ΄ μœ„μΉ˜ν•  ν–‰ 번호 layout_column μžμ‹ μ΄ μœ„μΉ˜ν•  μ—΄ 번호 layout_rowSpan 행을 지정돀 수만큼 ν™•μž₯ layout_columnSpan 열을 μ§€μ •λœ 수만큼 ν™•.. 2023. 1. 9.
[Android] 14. λ ˆμ΄μ•„μ›ƒ : λ λŸ¬ν‹°λΈŒ λ ˆμ΄μ•„μ›ƒ, ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒ # λ ˆμ΄μ•„μ›ƒ : λ λŸ¬ν‹°λΈŒ λ ˆμ΄μ•„μ›ƒ, ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒ # λ ˆμ΄μ•„μ›ƒ : λ λŸ¬ν‹°λΈŒ λ ˆμ΄μ•„μ›ƒ : μœ„μ ―κ³Ό λΆ€λͺ¨μ™€μ˜ μœ„μΉ˜ 관계 및 μœ„μ ―λΌλ¦¬μ˜ 관계λ₯Ό μ§€μ •ν•¨μœΌλ‘œμ¨ λ·°λ₯Ό λ°°μΉ˜ν•˜λŠ” λ ˆμ΄μ•„μ›ƒ + μœ„μΉ˜ 지정은 λΆ€λͺ¨ λ·°λ₯Ό κΈ°μ€€μœΌλ‘œ 함 --> μžμ‹ view의 κΈ°λ³Έ μœ„μΉ˜λŠ” 쒌츑 μƒλ‹¨μ΄μ§€λ§Œ layout 속성을 μ΄μš©ν•΄ μœ„μΉ˜λ₯Ό μž„μ˜λ‘œ 지정할 수 있음 : 타 μœ„μ ―μ˜ μƒλŒ€ μœ„μΉ˜μ— μœ„μ ―μ„ λ°°μΉ˜ν•˜κΈ° --> relative layout μ•ˆμ—μ„œ 타 μœ„μ ―μ˜ νŠΉμ •ν•œ μœ„μΉ˜μ— λ°°μΉ˜ν•˜λŠ” λ°©λ²•μœΌλ‘œ, 각 μ†μ„±μ˜ κ°’μ—λŠ” 타 μœ„μ ―μ˜ idλ₯Ό 지정할 수 μžˆλŠ” μ„±μ§ˆμ„ 톡해 "@+id/μ‹λ³„μž" 와 같은 ν˜•μ‹μœΌλ‘œ μ‚¬μš© ex 1) relative layout μ‹€μŠ΅ 예제 1 ex 2) relative layout μ‹€μŠ΅ 예제 2 # λ ˆμ΄μ•„μ›ƒ : ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒ : μœ„μ ―μ„ ν‘œ.. 2023. 1. 9.
[Android] 13. λ ˆμ΄μ•„μ›ƒ : λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒκ³Ό 속성 # λ ˆμ΄μ•„μ›ƒ : λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒκ³Ό 속성 # λ ˆμ΄μ•„μ›ƒ : λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒ : μœ„μ ―μ„ κ°€λ‘œ λ˜λŠ” μ„Έλ‘œ ν•œ μ€„λ‘œ λ°°μΉ˜ν•˜κΈ° μœ„ν•œ λ ˆμ΄μ•„μ›ƒμœΌλ‘œ, λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒμ˜ μ†μ„±λ§Œ 변경해주어도 기쑴에 λ°°μΉ˜λ˜μ–΄ 있던 μœ„μ ―λ“€μ˜ λ°©ν–₯ 변경이 κ°€λŠ₯ν•˜λ‹€. - λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒμ˜ μ‚¬μš©λ²• 1. UI νŽΈμ§‘κΈ° 우츑 상단에 μžˆλŠ” [Code] λ²„νŠΌ 클릭 ν›„ λͺ¨λ“œ λ³€κ²½ 2. 화면이 XML μ½”λ“œλ₯Ό 직접 νŽΈμ§‘ κ°€λŠ₯ν•œ λͺ¨μ–‘μœΌλ‘œ λ³€κ²½ 3. XML μ½”λ“œμ˜ 2행을 μ•„λž˜μ™€ 같이 μˆ˜μ • 'androidx.constraintlayout.widget.ConstraintLayout' --> .'LinearLayout' 4. λ‹€μ‹œ 우츑 μƒλ‹¨μ˜ [Design] λ²„νŠΌ 클릭 ν›„ λͺ¨λ“œ λ³€κ²½ --> μ»΄ν¬λ„ŒνŠΈ 트리의 μ΅œμƒμœ„ λ ˆμ΄μ•„μ›ƒμ΄ λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒμœΌλ‘œ 변경됨을 확인 κ°€λŠ₯ - 쀑.. 2023. 1. 8.
[Android] 12. λ ˆμ΄μ•„μ›ƒ : Android Studio ν”„λ‘œμ νŠΈ ꡬ성 # λ ˆμ΄μ•„μ›ƒ : Android Studio ν”„λ‘œμ νŠΈ ꡬ성 # λ ˆμ΄μ•„μ›ƒ : Android Studio ν”„λ‘œμ νŠΈ ꡬ성 - μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ ν”„λ‘œμ νŠΈ κΈ°λ³Έ ν™”λ©΄ ꡬ성 - μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ ν”„λ‘œμ νŠΈ ꡬ쑰 및 Android λ·° ꡬ쑰 - μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€ μ£Όμš” 폴더 1. Gradle Scripts 폴더 : Gradle λΉŒλ“œ μ‹œμŠ€ν…œκ³Ό κ΄€λ ¨λœ 파일이 μ €μž₯λ˜λŠ” 폴더 2. App 폴더 : 앱을 κ°œλ°œν•˜λ©° μƒμ„±λœ 파일이 λ“€μ–΄μžˆλŠ” 폴더 res 폴더 java 폴더 manifests 폴더 μ•± κ°œλ°œμ— μ‚¬μš©λ˜λŠ” 이미지, λ¬Έμžμ—΄, λ ˆμ΄μ•„μ›ƒ 등이 μœ„μΉ˜ν•œ 폴더 νŒ¨ν‚€μ§€λͺ… μ•„λž˜ MainActivity.kt둜 메인 Kotlin μ†ŒμŠ€κ°€ μœ„μΉ˜ν•¨ AndroidManifest.xml 파일이 λ“€μ–΄μžˆλŠ” 폴더 + java (generated) ν΄λ”μ˜ .. 2023. 1. 8.
[Android] 11. λ ˆμ΄μ•„μ›ƒ : λ·°(View)와 속성 # λ ˆμ΄μ•„μ›ƒ : λ·°(View)와 속성 # λ ˆμ΄μ•„μ›ƒ : λ·°(View) - λ·°(View) : View 크래슀의 μ„œλΈŒν΄λž˜μŠ€λ‘œ λ§Œλ“  객체둜, μ•‘ν‹°λΉ„ν‹° 화면은 ν•œ 개 μ΄μƒμ˜ 뷰둜 κ΅¬μ„±λœλ‹€. + λ·°λŠ” 크게 λ ˆμ΄μ•„μ›ƒκ³Ό μœ„μ ―μœΌλ‘œ λ‚˜λ‰˜μ–΄μ§„λ‹€. μœ„μ ―(Widget) λ ˆμ΄μ•„μ›ƒ(Layout) λ²„νŠΌ, 이미지 등이 ν™”λ©΄μ—μ„œ μ‚¬μš©λ˜λŠ” κ²ƒμœΌλ‘œ, λ·° λ˜λŠ” ViewGroup의 μ„œλΈŒν΄λž˜μŠ€λ‘œμ„œ λ‹¨λ…μœΌλ‘œ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€ λ‹€λ₯Έ μœ„μ ―μ„ λ‹΄μ•„ λ°°μΉ˜ν•˜λŠ” ν‹€λ‘œ, μ—¬λŸ¬ 개의 λ·°λ₯Ό κ·œμΉ™λŒ€λ‘œ 화면에 λ°°μΉ˜ν•  수 μžˆλ‹€. : λ·° 클래슀 계측도 # λ ˆμ΄μ•„μ›ƒ : λ·°(View)의 속성 - View 클래슀의 XML 속성_id 속성 : id μ†μ„±μ˜ 경우 λͺ¨λ“  μœ„μ ―μ˜ 아이디λ₯Ό λ‚˜νƒ€λ‚΄λ©°, ν„°μΉ˜ μ‹œ νŠΉμ • λ™μž‘μ΄ ν•„μš”ν•œ 경우 idλ₯Ό μ§€μ •ν•œλ‹€. --> 일반적인 id 속성은 μœ„μ ―μ—.. 2023. 1. 8.
[Android] 10. Kotlin μΆ”κ°€ 문법 : μ»¬λ ‰μ…˜, μ—°μ‚°μžμ™€ ν˜•λ³€ν™˜ # Kotlin μΆ”κ°€ 문법 : μ»¬λ ‰μ…˜, μ—°μ‚°μžμ™€ ν˜•λ³€ν™˜ # Kotlin μΆ”κ°€ 문법 : μ»¬λ ‰μ…˜ - 리슀트 : 배열같은 μžλ£Œν˜•μ˜ 데이터듀을 μˆœμ„œλŒ€λ‘œ 가지고 μžˆλŠ” μ§€λ£Œκ΅¬μ‘°λ‘œ, μ€‘λ³΅λœ μ•„μ΄ν…œμ„ κ°€μ§ˆ 수 있으며 μ•„μ΄ν…œλ“€μ˜ μΆ”κ°€ 및 μ‚­μ œ, ꡐ체가 μš©μ΄ν•˜λ‹€. + μš”μ†Œλ₯Ό λ³€κ²½ν•  수 μ—†λŠ” 읽기 μ „μš© λ¦¬μŠ€νŠΈλŠ” listOf() λ©”μ„œλ“œλ‘œ μž‘μ„± val foods : List = listOf("κΉ€μΉ˜μ°Œκ°œ", "초λ°₯", "해물탕") + ν˜• 좔둠을 μ΄μš©ν•˜μ—¬ μžλ£Œν˜• μƒλž΅ κ°€λŠ₯ val coffee = listOf("바닐라 라뗴", "아메리카노", "μΉ΄νŽ˜λΌλ–Ό") + μš”μ†Œλ₯Ό λ³€κ²½ν•˜λŠ” 리슀트 μž‘μ„± μ‹œ mutableListOf () λ©”μ„œλ“œ μ‚¬μš© val foods = mutableListOf("라면", "κ°ˆλΉ„", "λ°₯") foods.add("참치.. 2023. 1. 7.