월 19,800원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?
코루틴과 retrofit2 둘다 이미 비동기로 처리하는걸로 아는데 단순히 자바스러운(?) 긴 코드를 줄일 수 있기 때문에 사용하는건가요? 성능상의 차이는 없나요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
UpdateItems 생성
Adapter 클래스로 ArrayList를 직접 넘기지않고 UpdateItems() 메서드를 생성한 이유가 데이터가 변경되는 경우 Adapter 객체를 통해서 ArrayList를 계속 넘기는 것이 비효율적이여서 ArrayList만 새로 넘겨서 동적으로 화면을 변경하기 위해서 생성했다고 생각되는데 맞나요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
질문있습니다.
Main 에서 버튼(intent) 클릭 -> 카메라 -> 촬영 (저장)-> Result 전달 -> 편집 -> 버튼 클릭으로 Main 으로 반환하며 저장? 이런 식으로 해볼까 하는데 위의 순서로 하는게 괜찮은지 아니라면 어떤 방식으로 자주 사용하는지 궁금합니다.
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
질문있습니다!
카운터 앱 색션에서 선언한 지역변수 값이 화면 회전 시 초기화 되었던 것을 뷰모델을 통해서 초기화되지 않도록 저장했던 것으로 기억하고 있습니다. 이번에 Navigation을 통해서 값을 전달하는 방법을 배우고나서 뷰모델을 이용하지않고 확인해보았는데 화면 전환 시 Fragment에 지역변수 값으로 돌아가지 않더라구요. 정확한 이유는 모르겠지만 arguments를 사용하여 데이터를 프로그램 내부에 저장되어서 그런걸까요?
- 해결됨모던 안드로이드 - 코틀린과 Jetpack 활용
리사이클러뷰 어댑터에서 뷰모델
안녕하세요!리사이클러뷰 어댑터에서 뷰모델을 사용할 수 있는 방법이 있을까요??리사이클러뷰 아이템에 뷰모델의 라이브데이터를 바인딩하였습니다. 리사이클러뷰 아이템의 바인딩객체를 리사이클러뷰 어댑터의 뷰홀더에서 받았는데해당 바인딩 객체에 뷰모델을 할당하려하는데 어댑터에서 뷰모델 inject가 되지않아서 질문드립니다.
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
기본키 초기화 관련 질문있습니다.
안녕하세요. id를 기준으로 1~5 중 2, 3을 delete()로 삭제를 하게되면 1, 4, 5 이렇게 출력이 됩니다. 이런 경우 id값을 깔끔하게 1, 2, 3으로 나열할 수 있는 방법 없을까요?
- 해결됨모던 안드로이드 - 코틀린과 Jetpack 활용
제 이해력이 좋지않아 다시 질문해드립니다.
제가 아직 코딩에 있어서 초보자 단계라 공식문서를 잘 활용하지 못하는점이 있습니다. 아무리 수정을 해봐도 안드로이드스튜디오는 오류가 없다고 말해주고 있고 막상 돌려보면 빌드를 해보면 인스톨이 안되는데 이유가 대체 무엇일까요 ㅠㅠ
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
지금도 프로그램이 되나요?
공적마스크 api가 종료 됨으로써 지금도 충분히 테스트 가능한건가요? 코틀린 버전으로 다운받아서 해도 안되던데요..ㅠㅠ 혹시 지방에는 대체api에 약국리스트가 없어서 안되는건가 싶기도하고...
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
네비게이션 사용안하고 네비게이션 효과를 내려면?
JetPack에 있는 네비게이션 사용하지 않고 Intent 에 Activity 담아서 StartActivity 할 경우 JetPack의 네비게이션 처럼 하려면 어떻게 구현 하나요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
강의 내용과 최근의 공식문서 내용이 많이 다르면 어떻게해야할까요
val viewModel: MainViewModel by viewModels()viewModel.getAll().observe(this, Observer<List<Todo>>{ users -> // update UI}) 강의 내용과 똑같이 해보니 오류를 먹길래 아 최근의 공식문서를 따라해야겠구나 해서 최근의 공식문서는 이런식이길래 해봤더니 by viewmodels() 부분에서 자꾸 빨간색이 그어집니다. 공식문서는 분명히 // Use the 'by viewModels()' Kotlin property delegate // from the activity-ktx artifact 라고 주석이 달려있어서 gradle에 몇번이고 다시 확인을 해봤지만 계속해서 빨간줄이 걸립니다. 어떻게 해야할까요 ㅠㅠ
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
바텀네비게이션+네비게이션 사용중인데 스택
바텀네비게이션 + 네비게이션(현재 강의에 있는 이 네비게이션입니다) 을 사용중인데 바텀네비에서 a b c d 해서 네개의 바텀메뉴가 있다면 a의 바텀메뉴에서 A frag -> B frag 로 들어간 후 (버튼클릭 등으로 B frag로 이동) 바텀메뉴 b를 클릭해서 들어가면 C frag가 나오잖아요 그 후 다시 바텀메뉴 a로 들어가면 A frag가 나오게 하고싶은데, B frag가 나옵니다 그래서 B frag에 onpause 에다가 findNavController().navigate(R.id.action_A_frag) 하면 해당 증상은 해결이 되지만 뒤로가기 누를 시에는 아마 onbackpressed랑 같이 겹쳐서 그런지 앱이 죽는현상이 나옵니다.. 일단 임시로 바텀네비+네비게이션 안쓰고 제가 따로 바텀메뉴 만들어서 액티비티랑 같이 사용중이긴한데.. 꼭 써보고 싶어서요 액티비티의 singleInstance 처럼 쓰고싶은데 프래그먼트에선 어떻게 써야되나요? 프래그먼트 스택이 너무 꼬입니다
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
viewModel
강의에서 viewModel을 사용하는 것과MVVM패턴으로 프로그래밍하는것이 다른건가요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
코루틴에서의 setValue? postValue?
기존 자바에서는 레트로핏을 사용하여 call객체를 onResponse메소드를 통해 받고 비동기처리된 데이터를 담아주기 위해 postValue를 사용했는데요 코루틴에서는 itemLiveData.value(setValue??)를 통해 값을 받아주셨습니다! 실제로 앱도 죽지않았구요 제가 궁금한점은 그렇다면 코루틴도 분명 비동기 처리를 위해 제시된 방법인데 왜 포그라운드에서 사용하는 setValue를 사용하나요? 코루틴이 비동기처리되지만 특별한 무언가가 있어서일까요..? 아 그리구 코루틴으로 비동기처리를 하게되면 메인스레드 외에 자동적으로 다른 스레드가 만들어져서 거기서 작업을 하게되나요?!
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
데이터 바인딩시
받아온 데이터를 분기를 해줄 경우 BindingAdapter를 사용하는데,만약 받아온 데이터들 중 하나가 없는값이 넘어올 경우에는 어떤식으로 처리해줘야하나요?마찬가지로 바인딩 어댑터를 이용해서데이터가 없는경우로 나눠줘야하는건가요..? 예를들어 서버에서 [ {name:약국1, addr:111, remain:1}, {name:약국2, addr:222, remain:2}, {name:약국3, addr:null, remain:3} ] 의경우, 약국 이름과 주소는 @{store.000}으로 지정해서 쓰는데 약국3의 경우 넘오오는 값이 없을경우가 있을때는 어떻게 처리되는지 궁금합니다.
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
setFragmentResultListener 객체를 받는방법은 없나요?
A 라는 data class를 넘겨주고 싶어서 이렇게 써봤는데 null 이 나오더라구요.. string으로 하나하나 넘겨주면되긴하던데 data class 에 serializable도 썼는데 넘겨줄방법이없는건가요? setFragmentResultListener("item") { resultKey, bundle -> val test = bundle.getBundle("data") Log.e("tag", "뭐야 "+ test)}
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
Module관련 질문있습니다
궁금한점이 있어서 질문드립니다.! 한 모듈안에는 이런식으로 두가지 기능이 들어가면 안되나요??! 아니면 저렇게 어노테이션을 생성해서 두가지 기능을 사용할 수 있는건가요? @Module@InstallIn(ApplicationComponent::class)object NetworkModule { @CustomClient @Provides fun getCustomClient() : ServiceAPI { val retrofit = Retrofit.Builder() .baseUrl(ServiceAPI.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build() return retrofit.create(ServiceAPI::class.java) } @OpenAPIClient @Provides fun getOpenApiClient() : ServiceAPI{ val retrofit = Retrofit.Builder() .baseUrl(ServiceAPI.KOREAN_QUIZE_URL) .addConverterFactory(GsonConverterFactory.create()) .build() return retrofit.create(ServiceAPI::class.java) }
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
의존성 주입 관련 질문있습니다.
의존성 주입을 사용하는 이유가 객체 안에서 객체생성을 피하고자 하기 때문이다 라고 하셨고 그래서 ViewModel에서는 @Inject constructor() 를 통해 생성자에 객체를 받아주셨는데 Fragment나 Activity에서는 기본생성자만 허용하는 걸로 알고있었는데 혹시나해서 @Inject Constructor()를 사용해봤는데 역시나 안되더라구요 제가 생각한 이유 때문에 안되는 것이 맞는지 궁금합니다! 그리고 그게 맞다면 어쩔수없이 액티비티나 프래그먼트 내에서는 객체를 하나 생성해서 주입을 받아야되나요? 마지막으로 제가 의존성주입 테스트를 하면서 Car클래스를 만들고 생성자에 @Inject constructor(name : String) 이렇게 넣어주고 뷰모델이나 액티비티,프래그먼트에서 받아보려했는데 java.lang.String cannot be provided without an @Inject constuctor or an @Provides-annotated method 에러가 났습니다. 이렇게 매개변수가 있는 객체를 받으려면 다른 방식으로 접근해야하나요? 감사합니다
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
InsertAsyncTask
AsyncTask가 Deprecated된다는데 계속 써도되는걸까요?
- 미해결모던 안드로이드 - 코틀린과 Jetpack 활용
서비스 인터페이스 작성시
강의 잘 듣고 있습니다.강의참고하면서 다른 API조회하는 통신을 해보려고하는데,해당API의 request는POST 형태로 String, Int가 포함된 갓을 요청받습니다.하여 @FormUrlEncoded @POST("end_point") suspend fun func( @Field ("aa") aa:String , @Field("bb") bb:Int ) : aaa형태로 서비스인터페이스를 작성하였습니다.허나 해당 서버(?)에서 aa,bb 모두 String 형태로 값이 넘어와 제대로된 response를 받지못하고 있습니다.검색 해보니, 전송할 값들을 @Body에 담아보내면 Int형을 그대로 보내진다하여 적용해봤지만, Json형태로 정송되어 이 또한 정상적으로 response를 받지 못했습니다.이와 관련하여 더 참고할 수 있는 부분이 있을까 조언 구합니다.((retrofit통신시 Field가 Int에서 String으로 바뀌는 문제))
- 모던 안드로이드 - 코틀린과 Jetpack 활용
targetSdkVersion
삭제된 글입니다