월 15,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
실습에서 사용하고 있는 Data Store는 Proto DataStore 인가요?
이론설명에서 Type Safety를 보장하는 것은 Proto DataStore라고 하셨는데 key를 저장할 때 stringPreferencesKey를 사용해 String 타입으로 제한하므로 실습은 Proto DataStore로 진행되고 있는것인가요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
collect와 collectLatest
collect와 collectLatest의 차이를 공부해보았는데 각각의 장단점이 있는 것 같습니다. collect의 경우 중간에 데이터가 어떤 이유로 데이터를 처리하는데 시간이 오래 걸린다면 그 이후에 데이터를 받을 수 없다는 단점이 있고 collectLatest의 경우 이전 데이터 처리가 끝나지 않더라도 새로운 데이터가 들어오면 데이터를 새로 받아서 그런일은 없지만 그렇게 된다면 마지막 데이터만 들어오고 중간 데이터를 받을 수 없다는 단점이 있는 것 같습니다. 그렇다면 실무에서는 어떤 함수를 쓰는 것을 선호하는지 궁금합니다.
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
viewModelScope
viewModelScope 가 import 되지 않는데 어떤 문제일까요?ㅜㅜ 강의 2:05 부분입니다!
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
BuildConfig.bookApiKey
local.properties 에 있는 bookApiKey 값을 Constants 오브젝트에서 bookApiKey 를 인식하지 못합니다. 해결방법이 있을까요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
확장함수에서 질문입니다!
확장함수 만드실때 두 번째 인자로 collect: suspend(T) -> Unit 이 분이 잘 이해가 안됩니다. collect해야될 요소 즉 T 타입이 들어가야 되는건 알겠는데 왜 람다가 쓰이는 건가요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
질문있습니다
안녕하세요 강의잘듣고 있습니다. BookSearchDao 인터페이스에서 insertBook,deleteBook 함수에 supend 키워드를 사용하면 에러가 발생합니다. error: Type of the parameter must be a class annotated with @Entity or a collection/array of it. kotlin.coroutines.Continuation<? super kotlin.Unit> continuation); 키워드를 사용안하면 잘 동작합니다.
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
실습.
실습을 따라하긴했는데 소스가 어려운거같아서요.. LiveData 와 옵저버패턴이 어떤건지 정도만 이해하고 넘어가면 되나요? 펙토리패턴은 잘 모르겠네요 ㅠㅠ
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
onBindViewHolder에서 아이템 클릭시 발생하는 로직 질문
override fun onBindViewHolder(holder: BookSearchViewHolder, position: Int) { holder.bind(getItem(position)) holder.itemView.setOnClickListener { onItemClickListener?.let { it(getItem(position)) } } } private var onItemClickListener: ((Document) -> Unit)? = null fun setOnItemClickListener(listener: (Document) -> Unit) { onItemClickListener = listener }
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
private val binding get() = _binding!! 과 private val binding = _binding!! 의 차이
이전에 LiveData를 다룰 때는 private val _mutableLiveData ... val liveData = _mutableLiveData 이런식으로 get()을 쓰지 않아도 오류가 발생하지 않았던 것 같은데 BookFragment에서 뷰 바인딩을 사용할 때는 get()을 쓰지 않고 private val binding = _binding!! 와 같이 get()을 쓰지 않으면 앱이 could not find Fragment Constructor 오류를 뱉으며 죽습니다. 이유가 무엇인지 궁금합니다.
- 해결됨냉동코더의 알기 쉬운 Modern Android Development 입문
test:runner 의존성 질문
테스트 강의를 듣던 중 선생님과 달리 작동되는 부분이 있어 질문드립니다 테스트 2강 관련질문입니다. androidx.text:runner:1.4.0을 강의와 같이 testImplementation으로 감싸서 의존성을 추가할경우 @SmallTest annotation이 정상적으로 import되지않고 그냥 implementation으로 감싸서 의존성을 추가해야 정상적으로 import처리되고 테스트도 성공적으로 수행이 되던데 testImplementation과 implementation의 차이가 궁금합니다... 왜 강의와 다르게 의존성을 추가해야 정상 작동되는지 이유를 모르겠습니다. m1 으로 코드를 작성하고 있습니다
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
LiveData implementation
implementation 'androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1'도 안되서 2.3.1 로 버전내렸습니다.
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
View 홀더?
LiveData 설명중에 Data 홀더로 LiveData를 사용하면 값의 변경을 감지해서 UI에 변화를 자동으로 반영할수있다고 하셨는데 기존에는 Data 홀더는 ViewModel 이였나요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
오류입니다 ㅠㅠ
~~~ MyViewModelFactory.kt: (7, 7): Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option 이런애러가 뜹니다. ㅠㅠ 후.. 전 실습할때마다 다 오류나네요;; Android Studio를 최신으로 업데이트해서그런가 ㅠㅠㅠㅠ
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
생명주기관련
앱이 사용되고 있는 도중에도 여러가지 이유로 Activity 가 파괴되고 재 생성되는 경우가 발생한다고 하셨는데 파괴된다는 소리는 onDestroy()가 실행되고 재 생성된다는 소리는 onCreate() 가 실행된다는 말씀이시죠!? Activity의 생명주기의 메소드들의 역할이 간단하게는 이해되지만 더 사세한걸 알고싶습니다 ㅠㅠ 지금 냄동코더님의 강의를 빠르게 한번 보고싶은데 어떤식으로 공부해야할까요..? 3~4일 안에 한번 보고싶습니다. 우선 이해가 잘 안가도 쭉 돌려보고 프로젝프할떄만 따라해볼까요!? 시시콜콜한거 질문드려서 죄송합니다. ㅠㅠ
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
RecyClerView에 아이템이 하나만 보입니다.
제목 그대로 RecyClerView에 아이템이 하나만 보입니다. 혹시 의심갈만한 부분이 있을까요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
Activity에서 ViewModel 인스턴스 생성 질문입니
class BookSearchViewModelFactory: ViewModelProvider.Factory { override fun <T : ViewModel> create(modelClass: Class<T>): T { return when { modelClass.isAssignableFrom(BookSearchViewModel::class.java) -> BookSearchViewModel(BookSearchRepositoryImpl()) as T else -> throw IllegalAccessException("Failed to create ViewModel") } } } private val bookSearchViewModel: BookSearchViewModel by viewModels { BookSearchViewModelFactory() } 이전에 프로젝트를 할 때는 ViewModelFactory에 생성자로 아무것도 받지 않고 위 코드처럼 구현했었는데 (그러면 Activity에서도 뷰모델 인스턴스를 비교적 쉽게 가져올 수 있었습니다.) 영상처럼 하는 이유가 있나요? (코드가 까맣게 보이네요,,,ㅠㅠ)
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
그레들 질문
id 'com.android.application'id 'org.jetbrains.kotlin.android'안녕하세요 저는 그레들에 이렇게 있는데id 'kotlin-android-extensions'를 그냥 추가하면 되나요?그리고 추가하시는게 xml 의 id 를 동일하게 작성하기위해 추가를하시는거죠!?지금 얼마안들었지만... 강의를하실때 처음 접하는부분인데 그냥 적고 넘어가시는 경우가 종종 있으셔서 저에겐 좀 어렵습니다 ㅠㅠ흑이해가 안가는건 종종 질문 남기겠습니다.감사합니답..!
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
MVP 이해가안갑니다.
MVP 에서 P는 interface 와 교신을한다는게 무슨뜻인지 모르겠습니다. interface 는 함수를 정의해 놓은 껍때기 즉, 같은기능의 메소드의 이름을 중복시키지 않기위해서 사용하는게 아닌가요? 그리고 유튜브에 현재 강의와 겹치는 부분이 많은거같은데 유료강의와 무료강이의 차이가 있나요?
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
Practice2D 강의에서 질문 있습니다.
안녕하세요! 'Practice2D-검색결과를 UI에 표시하기' 강의에서 searchBooks()가 onViewCreated() 안에서 한번 호출되고 searchBooks() 블록이 끝난 후에도 etSearch의 입력값이 변경될 때마다 콜백함수 내에서 searchBooks()블록 내에서 선언한 startTime과 endTime에 접근할 수 있는 이유가 궁금합니다.
- 미해결냉동코더의 알기 쉬운 Modern Android Development 입문
간단한 질문입니다 ㅠㅠ
bookSearchViewModel = ViewModelProvider(this, factory)[BookSearchViewModel::class.java] 위 코드에서 [BookSearchViewModel::class.java] 부분 문법이 검색해도 안나오더라구요 ㅠBookSearchViewModel::class.java 로 형변환 하는건가요?