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) #92

Open
wants to merge 10 commits into
base: sumintnals
Choose a base branch
from

Conversation

sumintnals
Copy link

5주차 과제

1단계

기능 사항

  • 데이터베이스를 Room으로 변경한다.
  • 가능한 모든 부분에 대해서 의존성 주입을 적용한다.

2단계

  • MVVM 아키텍처 패턴을 적용한다.
  • DataBinding, LiveData를 사용한다.
  • 비동기 처리를 Coroutine으로 변경한다.

⚠️참고사항

  • step1 pr을 올리고 바로 step2를 작업했습니다!!
    step1 PR

  • 코루틴은 이전에 변경했어서 따로 변경하지 않았습니다!!

  • Room을 적용하려고 하는데, 기존 SharedPreference에 저장하던 데이터를 Room으로 변경하면 되는지 궁금합니다!!

💀어려웠던 부분

  • 데이터바인딩이 어려웠습니다... xml 안에서 직접 사용하지 못하는 함수를 어떻게 써야할지 고민했습니다

‼️피드백 받고 싶은 부분, 궁금한 부분

  • 데이터바인딩을 올바르게 적용했는지 궁금합니다. 🥲

  • MVVM에 어긋난 부분이 있는지 궁금합니다.

  • 더 개선할 부분이 있다면 알려주시면 감사드리겠습니다!!!

📷앱 사진(저번 과제와 비교했을 때 UI가 달라진 부분은 없습니다!)


온다방 까눌레 추천합니다 👍

항상 코드리뷰 해주셔서 감사합니다!!

private val preferenceManager: PreferenceManager
) : ViewModel() {

private val _placeName = MutableLiveData<String>("")

Choose a reason for hiding this comment

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

뷰를 표현하기 위한 데이터 클래스를 정의하여 사용하면 뷰모델의 코드가 좀 더 간결해질 수 있습니다. :)

}
}

fun getLastCategory(input: String): String {

Choose a reason for hiding this comment

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

nit; 보통 뷰모델의 퍼블릭 함수는 리턴값이 없는 호출하는 형태의 함수만 허용합니다.

name="viewModel"
type="campus.tech.kakao.map.SearchViewModel" />
<variable
name="activity"

Choose a reason for hiding this comment

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

activity는 사용되는 곳이 없어보이는데 인자로 받은 이유가 있으신가요?

Copy link
Author

Choose a reason for hiding this comment

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

다른 코드들을 참고하면서 작성하여 따라만들게 된 것 같습니다!!! 사용하지 않는 코드 삭제하겠습니다!

@omjoonkim
Copy link

5주차 과제 진행하시느라 고생하셨습니다. 1단계 PR의 코멘트처럼 Room적용 부분만 좀 더 추가 부탁드릴게요~!

데이터바인딩이 어려웠습니다... xml 안에서 직접 사용하지 못하는 함수를 어떻게 써야할지 고민했습니다

코드 잘 작성해주신 것으로 보여집니다. xml에서 모든 로직을 수행하는 것이 아닌, BindingAdpater를 사용하거나 혹은 앞서 언급한 ViewState등의 데이터 클래스의 함수를 정의하여 xml에서는 단순히 호출만 하는 형태로 사용하면 xml의 코드를 간결하게 만들 수 있습니다.

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