Skip to content
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

경북대 Android 남지연 5주차 과제 Step2 #65

Open
wants to merge 28 commits into
base: njiyeon
Choose a base branch
from

Conversation

nJiyeon
Copy link

@nJiyeon nJiyeon commented Jul 26, 2024

중점적으로 리뷰해주셨으면 하는 부분

  • 데이터바인딩코루틴을 적용할 수 있는 부분에 최대한 적용하였다고 생각했는데, 혹시 부족한 부분이나 추가적으로 적용할 수 있는 부분이 있는지 궁금합니다 !

@mkSpace
Copy link

mkSpace commented Jul 28, 2024

리베이스 부탁드려요 ~

Copy link

@mkSpace mkSpace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이번 주차도 수고하셨습니다!

Hilt와 Room 잘 사용해주셨습니다. Module도 잘 분리해주신것 같네요!

다만 Android Repository Pattern에 대해서 조금 더 학습이 필요해보입니다. 현재 구현이 LocalDB 관련 로직만 남겨있는데 보통의 Repository Pattern과는 조금 달라보이네요.

이번주는 그냥 넘어가셔도 좋으신데 확실히 학습하시고 반영하신 후 넘어가시면 좋겠습니다.

리뷰 남겨드리니 확인 부탁드려요~

@@ -4,4 +4,4 @@ import campus.tech.kakao.map.model.Item

interface OnSearchItemClickListener {
fun onSearchItemClick(item: Item)
}
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ViewModel에 리스너가 있는건 어색하네요. View로 옮겨주세요

import campus.tech.kakao.map.repository.keyword.KeywordDao
import campus.tech.kakao.map.repository.location.ItemDao

@Database(entities = [Keyword::class, Item::class], version = 1)
@Database(entities = [KeywordEntity::class, LocationEntity::class], version = 2)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Item -> LocationEntity로 변경하셨으니 ItemDao도 그에 맞게 변경하면 좋겠네요

Comment on lines +7 to +8
@Singleton
class KeywordRepository @Inject constructor(private val keywordDao: KeywordDao) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DatabaseModule에서도 KeywordRepsoitroy 의존성을 생성하고 여기서도 생성하시는 이유가 있을까요?
특별한 이유가 없으면 하나의 방법으로 통일시키는게 좋겠습니다.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DatabaseModule에서만 생성하도록 수정하였습니다 !

@@ -24,6 +24,10 @@ import javax.inject.Inject
@AndroidEntryPoint
class SearchActivity : AppCompatActivity(), OnSearchItemClickListener, OnKeywordItemClickListener {
private lateinit var binding: ActivitySearchBinding

@Inject
lateinit var api: KakaoLocalApi
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

KakaoLocalApi를 주입받는 이유가 있을까요?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Viewmodel에서 처리를 하고 있으므로 따로 주입받을 필요가 없습니다 ! 해당 부분을 삭제하도록 하겠습니다 !

Comment on lines 31 to 32
private lateinit var searchViewModel: SearchViewModel
private lateinit var keywordViewModel: KeywordViewModel
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ViewModel를 by viewModels 를 통해 ViewModel을 LAZY 하게 providing 받을 수 있는 기능을 제공합니다. 한 번 적용해보세요!

@mkSpace
Copy link

mkSpace commented Jul 28, 2024

혹시 코루틴 적으로 레벨업 하시려면 Flow를 최대한 사용해보시면 좋을 것 같네요!
데이터의 흐름이 어떻게 흘러야 하는지 Flow를 통해서 Stream을 설계해보시면 좋을 것 같습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants