BaseActivity 혹은 BaseFragment를 만들다보면위와 같이 쓰게 된다. 근데 왜 binding의 타입을 단순히 ViewDataBinding으로 명시하지 않고 제네릭타입 B로 주는 것인지 궁금했다. 그 이유는 다음과 같다.우선 제네릭을 사용하는 이유는 무엇

Dialog vs DialogFragment stackOverflow에 게시된 DialogFragment가 Dialog보다 나은 점에 대한 답변이다. DialogFragment는 말 그대로 Fragment로써의 기능을 가지므로 lifecycle에 대한 콜백이 존재한다
abstract BaseActivity나 BaseFragment에서 사용하던
https://www.masterqna.com/android/104407/mvvm-%EA%B0%9C%EB%B0%9C%EC%A4%91-model%EC%9D%98-%EC%97%AD%ED%95%A0-%EC%A4%91-%ED%95%98%EB%82%98%EA%B0%80
입력받은 학생의 정보를 CSV 파일로 만들어 저장할 것유저(학생)에게 입력받을 데이터에 해당하는 데이터 클래스를 통해 StringBuilder에 append()하여 헤더와 내용을 구분하여 작성할 것이다.그런데 헤더를 작성하려고 보니 유저에게 입력받는 값이 달라지게 되면
BaseActivity 만드는데 자꾸 화면이 안보였다 왤까 찾아보니 persistentState: PersistableBundle? 이 부분이 문제인듯 했다. 얘가 뭘까 Activity의 onCreate(...)는 왜 2개일까? 위 벨로그 글을 보고 onCrea
자바 고급문법 세번째 Thread 코어가 요리사 스레드는 화구 (원코어 원스레드) 코어가 하나면 실질적으로는 여전히 한 번에 하나의 작업만 가능하지만 번갈아가면서 이 요리 저 요리 왔다리갔다리 하는거임 job scheduling에 따라서 스레드가 모두 같은속도로 실행
핸드폰의 화면은 데탑과 다르게 전화가 오거나 등을 화면이 가려질 수 있음 개발자의 의도와 다르게 이러한 특수 상황을 위해 호출하지 않아도 자동으로 호출됨 라이프 사이클 메소드 라는 친구 어떤 상황이 되면 자동으로 호출되는 메소드 = 콜백메소드 onCreate() 메소드
구글에 찾아보니 JSON으로 받지 못해서 생기는 에러. ① DB경로에 데이터가 잘못되었을 경우 아니었음. 경로에서 json 형태로 잘 나왔음. ② load할 경로를 잘못 작성했을 경우 왜 이렇게 썼을까... 오타 천국이었다... 
ListView에서 각각의 Item이 가지는 버튼이 있는데, 이 버튼을 클릭했을때 프래그먼트를 이동하고 싶다. 원래 같았으면 Adapter에서 Item을 붙일때 (getView 혹은 onBindViewHolder) 그 뷰가 가지는 버튼에게 리스너를 주고 클릭 이벤트

컨트롤러 내부에 있는 프래그먼트에만 Dialog가 뜨도록 하고 싶었다 안된다. 무조건 전체 화면을 먹더라 어차피 커스텀해서 만들었고, 매번 들어가는 문자열이 달랐기때문에 ViewGroup으로 만들어서 visibility를 설정하는 show() 메소드와 hide()
Task<String>으로 리턴 받은 값을 String으로 주어야해서과 같이 썼더니 IllegalException이 떴다 java.lang.IllegalStateException: Task is not yet complete찾아보니 getResult는 hang이나
csv 파일을 저장할때 문자열 사이에 콤마를 구분하였고, 마지막 콤마가 들어가는 것은 신경쓰지 않았다.(예를 들어, "red","green","blue","yellow",)그런데 이 파일을 받아와서 읽고 배열에 담으니 마지막 값이 없어 자꾸 IndexOutOfBound