-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature/#1] : Project Initial Setting #2
Conversation
โฆinto feature/#1-project-initial-setting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๊ฐ์์ด ์น๊ตฌ๋ค ์๋ง๋ค ๊ณ ์ํด์จ์ด์ดใ ๐ฅณ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋๋ฌด ๊ณ ์ํ์ดใ ใ ใ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๋ง ํผ๊ณคํด์..
fun provideLoggingInterceptor(): HttpLoggingInterceptor { | ||
val loggingInterceptor = HttpLoggingInterceptor { message -> | ||
when { | ||
message.isJsonObject() -> Timber.d(JSONObject(message).toString(4)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 : 4๋ ๊ฐ๋ ์ฑ ๋๋ฌธ์ ๋ฃ์๊ฑฐ์ฃ ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ฉ๋ผ์ฌ ์ฑ์ผ ์ฝ๋ ๋ณต๋ถํ๋๋ฐ์ฌ ใ ใ
.padding(top = 18.dp, bottom = 16.dp) | ||
.padding(horizontal = 16.dp), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 : ์ถํ GUI ๋ณด๊ณ ์์ฃผ ์ฌ์ฉํ๋ padding ๊ฐ์ (ex. ํ๋จ ๋ฒํผ๊ณผ ๋ฐฐ๊ฒฝ ๊ฐ๊ฒฉ, ๋ค์ด์ผ๋ก๊ทธ ๋ฒํผ ๊ฐ๊ฒฉ ๋ฑ...) dimens๋ก ๋นผ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค์!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ค ์ข์ ์๊ฐ์ด๋ค์!! ๋์์ธ ํ์ ๋๋ฉด ๊ทธ๋ dimens๋ก ๋นผ๋ณผ๊ฒ์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 : ์ ๋๋ก ์ปดํฌ์ฆ ๊ธ๊ผด ์ค์ ํ๋๊ฑฐ ๋ณต์กํ๋๋ฐ~ ์ฉ..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ฐพ์๋ณด๋๊น ์ง์ง ๋ณต์กํ๋ค... ํฐํธ๋ ์ธ์ง๊ฐ ํ์^^
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 : otf๋ก ํ์ ์ด์ ๋ ๋จผ๊ฐ์~?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ttf๋ otf ์ฐจ์ด๊ฐ 1๋ ์๋ค๊ธธ๋ ๊ทธ๋ฅ otf ๋ฃ์์ด์ค
interface ExampleApiService { | ||
@GET("/$API/$USERS") | ||
suspend fun getUsers( | ||
@Query("page") page: Int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 :
@Query("page") page: Int | |
import com.sopt.data.service.ApiKeyStorage.PAGE | |
@Query(PAGE) page: Int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํ์ค๋ฐ๋คผ๋ฐ์ฌ ํผ๋๋ฐฑ ๊ฐ์ฌ๋
retrofit-core = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } # Retrofit ๋คํธ์ํน ๋ผ์ด๋ธ๋ฌ๋ฆฌ | ||
retrofit-kotlin-serialization = { group = "com.jakewharton.retrofit", name = "retrofit2-kotlinx-serialization-converter", version.ref = "retrofit-kotlinx-serialization-json" } # Retrofit Kotlinx Serialization ๋ณํ๊ธฐ | ||
okhttp-logging = { group = "com.squareup.okhttp3", name = "logging-interceptor", version.ref = "okhttp" } # OkHttp ๋ก๊น ์ธํฐ์ ํฐ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2 : ์ด๋ฐ ์์ผ๋ก ๊ฐ์ด dependency ์ถ๊ฐํด์ ์ฌ์ฉํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ฉด bundle๋ก ๋ฌถ์ด์ ํ๋ฒ์ ํธ์ถํ๋ ๊ฒ๋ ํธ๋ฆฌํ ๊ฒ ๊ฐ๋ค์ฉ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ด ๋ฒ๋ค๋ก ์์ ํ ๊ฒ์
presentation/build.gradle.kts
Outdated
implementation(libs.retrofit.core) | ||
implementation(libs.retrofit.kotlin.serialization) | ||
implementation(libs.okhttp.logging) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 :
implementation(libs.retrofit.core) | |
implementation(libs.retrofit.kotlin.serialization) | |
implementation(libs.okhttp.logging) | |
implementation(libs.bundles.retrofit) |
์ด๋ฐ ๋๋์ผ๋ก ๋ฐ๊ฟ ์๋ ์์๋ฏ? ๊ทธ๋ฅ ๊ฐ ์ ์ธ ์๊ฒฌ~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 : ์์ ์๋ง ์ค๋ช ํด์ค~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NavGraphBuilder์ ์บ๋ฆฐ๋ ํ๋ฉด ๊ฒฝ๋ก ๋ฑ๋กํ๊ตฌ, ์บ๋ฆฐ๋ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ navigateCalendar ํจ์ NavController์ ๋ฑ๋กํ๋ ์ฝ๋์์ฌ
onFailure = { | ||
_state.value = | ||
_state.value.copy(followers = UiState.Failure(it.message.toString())) | ||
_sideEffects.emit(ExampleSideEffect.ShowToast(R.string.server_failure)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P3 : toast ๋ฉ์์ง text๋ UI ๊ด๋ จ์ด๋ผ.. viewModel์์๋ UI ์ํ์ ๋ํ ๊ด๋ฆฌ๋ง ํด์ฃผ๊ณ ์กํฐ๋นํฐ์์ ์๋ง์ toast ๋ฉ์์ง ํธ์ถ ๋ฐฉ์์ด ๋ถ๋ฆฌ ๋ชฉ์ ์์ ๋ง์ง ์๋๋ผ๋ ๊ธ์ ๋ณธ ์ ์ด ์๋๋ฐ ์ปดํฌ์ฆ ์ ์ฅ์์๋ ์ด๋ป๊ฒ ์๊ฐํ๋์ง์~?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Composition์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์ ๋ ๋ถ์ ํจ๊ณผ๋ฅผ ์ธํ ํธ๋ก ์คํํ๋ ค๋ฉด SideEffect์ Toast์ ๋ค์ด๊ฐ ๋ฉ์์ง๋ฅผ ๋ด์ ๋ณด๋ด๋๋ผ๊ตฌ์... ๊ณ ์ UI๋ฅผ ์ ์ธํ ์์๋ค์ ๋ทฐ๋ชจ๋ธ์ ์์ฑํด์ฃผ๋๊ฒ MVI์ ๋ง๋ ๋ฐฉ๋ฒ์ธ ๊ฒ ๊ฐ์ต๋๋ต ๐ญ
โ ๐๐ต๐ฒ๐ฐ๐ธ-๐๐ถ๐๐
๐ ๐๐๐๐๐ฒ๐
๐ ๐ช๐ผ๐ฟ๐ธ ๐๐ฒ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ผ๐ป
๐ท ๐ฆ๐ฐ๐ฟ๐ฒ๐ฒ๐ป๐๐ต๐ผ๐
Screen_recording_20241004_180012.mp4
๐ฌ ๐ง๐ผ ๐ฅ๐ฒ๐๐ถ๐ฒ๐๐ฒ๐ฟ๐
local.properties ํ์ผ์ base.url="https://reqres.in" ๋ฃ์ด์ฃผ์ธ์!