๐ฑ (18) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [Android] Android Framework๏ผ ๐กAndroid Framework๋? · Java / Kotlin ๊ธฐ๋ฐ์ ์๋๋ก์ด๋ API ์งํฉ์๋ก, ์๋๋ก์ด๋ OS ์ ์ฒด์ ์ธ ๊ธฐ๋ฅ์ ๋ํด์ API๋ฅผ ํตํด ์ ๊ทผ๊ฐ๋ฅํ๋๋ก ์ง์ํด์ฃผ๊ณ ์๋ค. ๐กAndroid Framework ๊ตฌ์ฑ ํญ๋ชฉ VIEW SYSTEM · ๋ชฉ๋ก / ๊ทธ๋ฆฌ๋ / ํ ์คํธ์์ / ๋ฒํผ / ์น๋ทฐ(์น๋ธ๋ผ์ฐ์ ) ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ํ์ฅ์ด ๊ฐ๋ฅํ๋ค. · ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ ์ธํฐํ์ด์ค(UI)๋ฅผ ๋น๋ํ๋๋ฐ ์ฌ์ฉํ๋ค. RESOURCE MANAGER · ๊ตญ๊ฐ๋ณ ๋ฌธ์์ด / ๊ทธ๋ํฝ ๋ฐ ์ด๋ฏธ์ง ํ์ผ๊ณผ ๊ฐ์ ์ฝ๋๊ฐ ์๋ ๋ฆฌ์์ค์ ๋ํ ์ ๊ทผ์ ์ ๊ณตํ๋ค. NOTIFICATION MANAGER · ๋ชจ๋ Application์ด ์ํํ์์ค์ ์ฌ์ฉ์ ์ง์ ์๋ฆผ์ ํ์ํ ์ ์๋๋ก ์ง์ํ๋ค. A.. [Android] Android๏ผ ๐กAndroid๋? · ๊ตฌ๊ธ(Google)์์ ๋ง๋ ์ค๋งํธํฐ์ฉ ์ด์์ฒด์ ์ด๋ค. · ๋ฆฌ๋ ์ค(Linux)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋์๊ณ ์ธ์ด๋ ์๋ฐ(Java) ๋ฐ ์ฝํ๋ฆฐ(Kotlin)์ ์ฌ์ฉํ๋ค. ๐กAndroid์ ํน์ง · ์ ์ฉ ๊ฐ๋ฐ ๋๊ตฌ์ธ ์๋๋ก์ด๋ ์คํ๋์ค๋ฅผ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ณ ์๋ค. · ์คํ์์ค ์งํฅ์ผ๋ก ๋ง์ ์ ๋ณด๊ฐ ๊ณต๊ฐ๋์ด ์๋ค. · ๊ตฌ๊ธ ํด๋ผ์ฐ์ค ์๋น์ค์ ์์ฝ๊ฒ ์ฐ๋์ด ๊ฐ๋ฅํ๋ค. · ๊ฐ๋ฐ์๊ฐ ๋ง๋ ์ฑ์ Google Play Store๋ฟ๋ง ์๋๋ผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌ๋ฅผ ํ ์ ์๋ค. · IOS์ ๋น๊ตํ์ ๋ ์ ์ ์จ์ด ์๋นํ ๋๋ค. ๐กAndroid์ 4๋ ์ปดํฌ๋ํธ(๊ตฌ์ฑ ์์) Activity · ์ฌ์ฉ์์๊ฒ ์ง์ ์ ์ผ๋ก ๋ณด์ด๋ ํ๋ฉด์ ์๋ฏธํ๋ค. ex) ์ฑ์ ์คํํ๋ฉด ๋์ค๋ ํ๋ฉด Service · ๋ฐฑ๊ทธ๋ผ์ด๋ ์.. [Kotlin] ๋์ ๊ฒ์ ์ฑ ๋ง๋ค๊ธฐ๏ผ ViewBinding๊ณผ Room, Retrofit2๋ฅผ ์ด์ฉํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด ์ค๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฑ ์ ์ด๋ฏธ์ง๋ url๋ก ๋ค์ด์ค๋๋ฐ ์ด url์์ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ฉด Glide๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. build.gradle (Module) plugins { ... id 'kotlin-kapt' } android { ... buildFeatures { viewBinding = true } } dependencies { ... // Retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // Glide implementati.. [Kotlin] ๋์ ๊ฒ์ ์ฑ ๋ง๋ค๊ธฐ๏ผ ๋์ ๊ฒ์ ์ฑ์ ๋ง๋ค๊ธฐ ์ ์ Retrofit2์ ๋ํด์ ์์๋ณด๋๋ก ํด๋ด ์๋ค. โช๏ธFragment https://jslee-tech.tistory.com/13 (Retrofit2) 1. ์์ํ๊ธฐ 1. Retrofit2 ๋? Android์์ REST API ํต์ ์ ์ง์ํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ Type-Safe ํ HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ Client๊ฐ ํ์ํ ํํ์ ๊ฐ์ฒด๋ก ์ ๋ฌ ๋ฐ์ ์ ์์ ์กด์ฌํ๋ HTTP ํต์ jslee-tech.tistory.com ๋จผ์ UI ๊ตฌ์ฑ๋ถํฐ ํ์ผ๋ฉฐ ์ด 5๊ฐ์ ํ์ผ๋ก ๋ง๋ค์์ต๋๋ค. activity_main.xml fragment_home.xml fragment_searce.xml history_list_item.xml search_list_item.xml.. [Kotlin] Note ์ฑ ๋ง๋ค๊ธฐ๏ผ ๋จผ์ ์ญ์ ๋ฒํผ์ ์ถ๊ฐํด ์ค. fragment_detail.xml ... ... ์ด์ ์ญ์ ๊ธฐ๋ฅ์ ๋ฃ์ด์ฃผ๋ฉด ๋. DetailFragment.kt package com.ta2gi.note.fragment import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.ta2gi.note.MainActivity import com.ta2gi.note.R import com.ta2gi.note.databinding.FragmentDetailBinding import com.ta2gi... [Kotlin] Note ์ฑ ๋ง๋ค๊ธฐ๏ผ Room์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํด ์ค์ผ ํจ. plugins์ dependencies์ ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์ถ๊ฐํด ์ค. build.gradle (module) plugins { ... id 'kotlin-kapt' } android { ... } dependencies { ... // room def roomVersion = "2.4.3" implementation "androidx.room:room-ktx:$roomVersion" kapt "androidx.room:room-compiler:$roomVersion" } Room์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ 3๊ฐ์ ํ์ผ(Dao, Database, Entity)์ ๋ง๋ค์ด ์ค์ผ ํจ. Entity๋ ์ ์ ์ฐ๋ฆฌ๊ฐ ์ผ๋ NoteEntity ํ์ผ์ ๊ทธ๋๋ก ์ฐ๊ณ .. [Kotlin] Note ์ฑ ๋ง๋ค๊ธฐ๏ผ ViewBinding์ ์ถ๊ฐํด ์ค. build.gradle (module) android { ... buildFeatures { viewBinding = true } } ๊ทธ๋ฆฌ๊ณ ๋ฉ๋ชจ ์ถ๊ฐ, ์์ธํ๋ฉด, ์์ ์ ๊ธฐ๋ฅ๋ค์ ๋ง๋ค์์. ์ค๋ช ์ ์ฃผ์์ผ๋ก ๋ค ํด๋จ์. HomeFragment.kt package com.ta2gi.note.fragment import android.os.Bundle import android.util.Log import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.ta2gi.note.MainActi.. [Kotlin] Note ์ฑ ๋ง๋ค๊ธฐ๏ผ ์ด๋ฒ์ ๋ง๋ค Note ์ฑ์์๋ Fragment์ Room์ ์จ๋ณด๋ ค๊ณ ํจ. โช๏ธFragment https://heaven0713.tistory.com/58 [Kotlin] ํ๋๊ทธ๋จผํธ(Fragment) ์ด๋ฒ ์ํธ ์ธ๋ฏธ๋์์ ์ค์ฌ์ ์ผ๋ก ๋ค๋ฃฌ๊ฒ ํ๋๊ทธ๋จผํธ์ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ์๋ค. ๊ทผ๋ฐ (์์ฝ๊ฒ๋) ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ๋ก ๋ธ๋ก๊ทธ์ ๊ธ์ ์ด ์ ์ด ์์ผ๋ฏ๋ก ๋์ค์ ๊ทธ ๊ธ์ ์์ ํ๊ธฐ๋ก ๋ง์๋จน๊ณ ํ๋ฒ๋ ์์ฑ heaven0713.tistory.com โช๏ธRoom https://frtt0608.tistory.com/103 [AOS] ROOM์ด๋? Android์์ ROOM์ด๋ ๋ฌด์์ผ๊น? ROOM์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ Java ๋๋ Kotlin ๊ฐ์ฒด๋ก ๋งคํํด์ฃผ๋ ORM ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ORM(Object Relational Mappi.. ์ด์ 1 2 3 ๋ค์