From 571c76f5859b1c5fdf77dd8559f52ea86f2d01b8 Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:31:58 +0900 Subject: [PATCH 1/9] =?UTF-8?q?[feat]:=20hilt=20=EC=9D=98=EC=A1=B4?= =?UTF-8?q?=EC=84=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 12 ++++++++++++ build.gradle.kts | 3 ++- gradle/libs.versions.toml | 7 ++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f702414f..021f8d9c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,6 +2,8 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) + id("com.google.dagger.hilt.android") // Hilt 플러그인 추가 + kotlin("kapt") // Hilt를 위한 kapt 추가 } android { @@ -61,4 +63,14 @@ dependencies { // Dots Indicator implementation("com.tbuonomo:dotsindicator:5.1.0") + + // Hilt + implementation(libs.hilt.android) + kapt(libs.hilt.compiler) + implementation(libs.androidx.hilt.navigation.compose) +} + +// Hilt를 사용할 때 필요한 Annotation Processor +kapt { + correctErrorTypes = true } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 952b9306..493c6f6f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,4 +3,5 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false -} \ No newline at end of file + alias(libs.plugins.dagger.hilt) apply false +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index fff6a216..54406629 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,7 @@ [versions] agp = "8.7.3" +hiltAndroid = "2.52" +hiltNavigationCompose = "1.2.0" kotlin = "2.0.0" coreKtx = "1.10.1" junit = "4.13.2" @@ -14,6 +16,9 @@ lifecycleRuntimeComposeAndroid = "2.8.7" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" } +hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" } +hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hiltAndroid" } junit = { group = "junit", name = "junit", version.ref = "junit" } androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" } androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" } @@ -35,4 +40,4 @@ androidx-lifecycle-runtime-compose-android = { group = "androidx.lifecycle", nam android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } - +dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "hiltAndroid" } From 5ac7128514263523dc2d8b41c9f6e2a32c71cf2a Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:33:08 +0900 Subject: [PATCH 2/9] =?UTF-8?q?[feat]:=20OurMenuApp=20=ED=81=B4=EB=9E=98?= =?UTF-8?q?=EC=8A=A4=20=EC=83=9D=EC=84=B1=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + app/src/main/java/com/kuit/ourmenu/MainActivity.kt | 2 ++ app/src/main/java/com/kuit/ourmenu/OurMenuApp.kt | 7 +++++++ 3 files changed, 10 insertions(+) create mode 100644 app/src/main/java/com/kuit/ourmenu/OurMenuApp.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ecf4e2b8..216b6e37 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools"> Date: Mon, 3 Feb 2025 19:37:55 +0900 Subject: [PATCH 3/9] =?UTF-8?q?[feat]:=20=EB=8D=94=EB=AF=B8=20ViewModel=20?= =?UTF-8?q?,=20Data=20=EC=83=9D=EC=84=B1(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kuit/ourmenu/ui/dummy/data/DummyData.kt | 7 +++++ .../ui/dummy/viewmodel/DummyViewModel.kt | 31 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt new file mode 100644 index 00000000..a58e7a28 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyData.kt @@ -0,0 +1,7 @@ +package com.kuit.ourmenu.ui.dummy.data + +data class DummyData( + val name: String = "", + val description: String = "", + val imageUrl: String = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt new file mode 100644 index 00000000..463cc4c8 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt @@ -0,0 +1,31 @@ +package com.kuit.ourmenu.ui.dummy.viewmodel + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.kuit.ourmenu.ui.dummy.data.DummyData +import dagger.hilt.android.lifecycle.HiltViewModel +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch +import javax.inject.Inject + +@HiltViewModel +class DummyViewModel @Inject constructor( + private val dummyRepository: DummyRepository +) : ViewModel() { + + private val _dummyData: MutableStateFlow = MutableStateFlow(DummyData()) + val dummyData: StateFlow = _dummyData.asStateFlow() // asStateFlow() 왜 달아야하는진 모름 + + fun fetchDummyData() { + viewModelScope.launch { + dummyRepository.getDummyData() + .catch { e -> println("Error: $e") } + .collect { dummyData -> + _dummyData.value = dummyData + } + } + } + +} \ No newline at end of file From 239f0c730d5ac8d8dd72002641011973c6d2d231 Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:51:17 +0900 Subject: [PATCH 4/9] =?UTF-8?q?[feat]:=20=EB=8D=94=EB=AF=B8=20Repository?= =?UTF-8?q?=20=EB=B0=8F=20RepositoryModule=20=EC=83=9D=EC=84=B1=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ourmenu/ui/dummy/di/RepositoryModule.kt | 17 +++++++++++++ .../ui/dummy/repository/DummyRepository.kt | 24 +++++++++++++++++++ .../ui/dummy/viewmodel/DummyViewModel.kt | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt new file mode 100644 index 00000000..a413384f --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/RepositoryModule.kt @@ -0,0 +1,17 @@ +package com.kuit.ourmenu.ui.dummy.di + +import com.kuit.ourmenu.ui.dummy.repository.DummyRepository +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +abstract class RepositoryModule { + + @Binds + @Singleton + abstract fun bindDummyRepository(dummyRepository: DummyRepository): DummyRepository +} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt new file mode 100644 index 00000000..d356a114 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt @@ -0,0 +1,24 @@ +package com.kuit.ourmenu.ui.dummy.repository + +import android.util.Log +import com.kuit.ourmenu.ui.dummy.data.DummyData +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOn +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +class DummyRepository @Inject constructor( + private val dummyService: DummyService +){ + suspend fun getDummyData() : Flow = flow { + try { + val response = dummyService.getDummyData() + emit(response.map { it.toDummyData()}) + } catch (e: Exception) { + Log.e("DummyRepository", "getDummyData: $e") + } + }.flowOn(Dispatchers.IO) +} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt index 463cc4c8..26cc33d3 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt @@ -3,10 +3,12 @@ package com.kuit.ourmenu.ui.dummy.viewmodel import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.kuit.ourmenu.ui.dummy.data.DummyData +import com.kuit.ourmenu.ui.dummy.repository.DummyRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch import kotlinx.coroutines.launch import javax.inject.Inject From a6d5a85e857f36f7e9693bd78fdd095f5b1ae3db Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:54:28 +0900 Subject: [PATCH 5/9] =?UTF-8?q?[feat]:=20=EB=8D=94=EB=AF=B8=20Service=20?= =?UTF-8?q?=EB=B0=8F=20=EB=A6=AC=EC=8A=A4=ED=8F=B0=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt | 13 +++++++++++++ .../ourmenu/ui/dummy/repository/DummyRepository.kt | 8 +++++--- .../kuit/ourmenu/ui/dummy/service/DummyService.kt | 8 ++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt new file mode 100644 index 00000000..0af9c835 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/data/DummyResponse.kt @@ -0,0 +1,13 @@ +package com.kuit.ourmenu.ui.dummy.data + +data class DummyResponse( + val name: String = "", + val description: String = "", + val imageUrl: String = "" +) + +fun DummyResponse.toDummyData() = DummyData( + name = name, + description = description, + imageUrl = imageUrl +) \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt index d356a114..c560613a 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt @@ -2,6 +2,8 @@ package com.kuit.ourmenu.ui.dummy.repository import android.util.Log import com.kuit.ourmenu.ui.dummy.data.DummyData +import com.kuit.ourmenu.ui.dummy.data.toDummyData +import com.kuit.ourmenu.ui.dummy.service.DummyService import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flow @@ -12,11 +14,11 @@ import javax.inject.Singleton @Singleton class DummyRepository @Inject constructor( private val dummyService: DummyService -){ - suspend fun getDummyData() : Flow = flow { +) { + suspend fun getDummyData(): Flow = flow { try { val response = dummyService.getDummyData() - emit(response.map { it.toDummyData()}) + emit(response.toDummyData()) } catch (e: Exception) { Log.e("DummyRepository", "getDummyData: $e") } diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt new file mode 100644 index 00000000..32bb80be --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/service/DummyService.kt @@ -0,0 +1,8 @@ +package com.kuit.ourmenu.ui.dummy.service + +import com.kuit.ourmenu.ui.dummy.data.DummyResponse + +interface DummyService { +// @GET("") + suspend fun getDummyData(): DummyResponse +} \ No newline at end of file From b73744200e7dd24034a573c98c678652d8e90567 Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:58:19 +0900 Subject: [PATCH 6/9] =?UTF-8?q?[feat]:=20retrofit=20=EC=9D=98=EC=A1=B4?= =?UTF-8?q?=EC=84=B1=20=EC=B6=94=EA=B0=80=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 4 ++++ gradle/libs.versions.toml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 021f8d9c..e004feac 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -68,6 +68,10 @@ dependencies { implementation(libs.hilt.android) kapt(libs.hilt.compiler) implementation(libs.androidx.hilt.navigation.compose) + + // Retrofit + implementation(libs.retrofit) + implementation(libs.converter.gson) } // Hilt를 사용할 때 필요한 Annotation Processor diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 54406629..cf86c4d2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,6 @@ [versions] agp = "8.7.3" +converterGson = "2.11.0" hiltAndroid = "2.52" hiltNavigationCompose = "1.2.0" kotlin = "2.0.0" @@ -13,10 +14,12 @@ composeBom = "2024.04.01" lifecycleViewmodel = "2.9.0-alpha08" lifecycleViewmodelCompose = "2.9.0-alpha08" lifecycleRuntimeComposeAndroid = "2.8.7" +retrofit = "2.11.0" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" } +converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "converterGson" } hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltAndroid" } hilt-compiler = { module = "com.google.dagger:hilt-compiler", version.ref = "hiltAndroid" } junit = { group = "junit", name = "junit", version.ref = "junit" } @@ -35,6 +38,7 @@ androidx-material3 = { group = "androidx.compose.material3", name = "material3" androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel", version.ref = "lifecycleViewmodel" } androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycleViewmodelCompose" } androidx-lifecycle-runtime-compose-android = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose-android", version.ref = "lifecycleRuntimeComposeAndroid" } +retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } From a29a7db046e1fa69eea0dee5b0ce87bfba7326cb Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 19:59:53 +0900 Subject: [PATCH 7/9] =?UTF-8?q?[feat]:=20Service=20Module=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kuit/ourmenu/ui/dummy/di/ServiceModule.kt | 19 +++++++++++++++++++ .../ui/dummy/repository/DummyRepository.kt | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt new file mode 100644 index 00000000..7bafcbb8 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/ServiceModule.kt @@ -0,0 +1,19 @@ +package com.kuit.ourmenu.ui.dummy.di + +import com.kuit.ourmenu.ui.dummy.service.DummyService +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import retrofit2.Retrofit +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object ServiceModule { + @Provides + @Singleton + fun provideDummyService(retrofit: Retrofit): DummyService = + retrofit.create(DummyService::class.java) + +} \ No newline at end of file diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt index c560613a..5d5cfcc5 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/repository/DummyRepository.kt @@ -15,7 +15,7 @@ import javax.inject.Singleton class DummyRepository @Inject constructor( private val dummyService: DummyService ) { - suspend fun getDummyData(): Flow = flow { + fun getDummyData(): Flow = flow { try { val response = dummyService.getDummyData() emit(response.toDummyData()) From b894ad4aa1c0dfffbd505960b7a676a10ceb9b27 Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 20:02:31 +0900 Subject: [PATCH 8/9] =?UTF-8?q?[feat]:=20NetworkModule=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kuit/ourmenu/ui/dummy/di/NetworkModule.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt new file mode 100644 index 00000000..fce0a2f0 --- /dev/null +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/di/NetworkModule.kt @@ -0,0 +1,27 @@ +package com.kuit.ourmenu.ui.dummy.di + +import com.google.gson.Gson +import dagger.Module +import dagger.Provides +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import retrofit2.Retrofit +import retrofit2.converter.gson.GsonConverterFactory +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +object NetworkModule { + + // TODO : Interceptor , OkHttpClient + + @Provides + @Singleton + fun providesRetrofit( + ): Retrofit = + Retrofit.Builder() + .baseUrl("") + .addConverterFactory(GsonConverterFactory.create(Gson())) + .build() + +} \ No newline at end of file From b86bfe06bd38b44f4365e5f10d61cd00278aa0ff Mon Sep 17 00:00:00 2001 From: ikseong00 <127182222+ikseong00@users.noreply.github.com> Date: Mon, 3 Feb 2025 20:03:03 +0900 Subject: [PATCH 9/9] =?UTF-8?q?[feat]:=20fetch=20=EB=A5=BC=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=EC=97=90=20=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20(#32)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt index 26cc33d3..8f4f0cba 100644 --- a/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt +++ b/app/src/main/java/com/kuit/ourmenu/ui/dummy/viewmodel/DummyViewModel.kt @@ -20,7 +20,11 @@ class DummyViewModel @Inject constructor( private val _dummyData: MutableStateFlow = MutableStateFlow(DummyData()) val dummyData: StateFlow = _dummyData.asStateFlow() // asStateFlow() 왜 달아야하는진 모름 - fun fetchDummyData() { + init { + fetchDummyData() + } + + private fun fetchDummyData() { viewModelScope.launch { dummyRepository.getDummyData() .catch { e -> println("Error: $e") }