분류 전체보기(129)
-
Data Binding(null 포인터 예외 방지)
서버에서 데이터를 받아 True or false일때 화면에 표시하는 기능을을 적용 할려고 해보니 의도와 다르게 표시되었다가 사라졌다. 디버깅 결과 호출을 두번하고 있었다. Visible = false Visible = true 그럼 호출을 두번 하는걸 한번만 하게 변경 하면 되지 않아? 라고 생각 했는데 그럴수 가없었다. Data Binding에서는 자동으로 초기값을 지정해 준다. 그래서 처음에 false로 값을 호출 하고 추후 데이터를 얻었을때 true로 값이 들어가기에 화면에 보였다가 사라지게 된거였다. 그래서 초기값을 바꿀수는 없는거야? - 여러 샵질 결과 아직까지 databindg에서의 초기값을 변경 할수 있는 방법은 못 찾았다. 계속 해서 찾아 봐야겠다 해결 방법 - false일때 안보여지고 t..
2022.05.27 -
Rxjava Observable
Observable 현재는 관찰되지 않았지만 앞으로 관찰할 대상 RxJava의 Observable은 세가지의 알림을 구독자에게 전달한다. onNext Observable은 새로운 항목들을 배출할 때마다 이 메서드를 호출한다. 이 메서드는 Observable이 배출하는 항목을 파라미터로 전달 받는다. onError Observable은 기대하는 데이터가 생성되지 않았거나 다른 이유로 오류가 발생할 경우 오류를 알리기 위해 이 메서드를 호출한다. 이 메서드가 호출되면 onNext나 onCompleted는 더 이상 호출되지 않는다. onError 메서드는 오류 정보를 저장하고 있는 객체를 파라미터로 전달 받는다. onCompleted 오류가 발생하지 않았다면 Observable은 마지막 onNext를 호출한 ..
2022.05.26 -
Which type to use?(어떤걸 사용 해야하지?)
Base classes RxJava 3 features several base classes you can discover operators on: io.reactivex.rxjava3.core.Flowable: 0..N flows, supporting Reactive-Streams and backpressure io.reactivex.rxjava3.core.Observable: 0..N flows, no backpressure, io.reactivex.rxjava3.core.Single: a flow of exactly 1 item or an error, io.reactivex.rxjava3.core.Completable: a flow without items but only a completion o..
2022.05.26 -
AndroidViewModel VS ViewModel
안드로이드 레퍼런스 문서에는 아래와 같이 설명 하고있다. Application context aware ViewModel. Subclasses must have a constructor which accepts Application as the only parameter. 애플리케이션 컨텍스트 인식 ViewModel. Application서브클래스 에는 유일한 매개변수로 허용하는 생성자가 있어야 합니다 . 결론 : Viewmodel 내부에서 컨텍스트를 사용해야 하는 경우 AndroidViewModel를 사용 참고 사이트 https://developer.android.com/reference/androidx/lifecycle/AndroidViewModel https://stackoverflow.com/qu..
2022.05.25 -
명시적 조인 암시적 조인
명시적 조인 SELECT * FROM table a INNER JOIN table b ON a.id = b.id; 암시적 조인 SELECT a.*, b.* FROM table a, table b WHERE a.id = b.id;
2022.05.22 -
getOrElse, getOrNull
getOrElse : 참조할 값이 존재하지 않거나 잘못되었을 경우 지정한 Else 값을 반환받는다. getOrNull : 참조할 값이 존재하지 않거나 잘못되었을 경우 Null을 반환받는다. =============LIST================ val ml = mutableListOf(5, 4, 3, 2, 1) // println(ml[10]) // IndexOutOfBoundException println("1. ${ml.getOrNull(4) }") // index = 4는 존재하므로 ml[4]를 반환 println("2. ${ml.getOrNull(10) }") // index = 10는 없으므로 Null 반환 println("3. ${ml.getOrElse(10) { -1 } }") // i..
2022.05.22