초기화 할 때 사용하는 메소드 = ViewModelProvider(this).get(DibsViewModel::class.java)
생성한 변수를 외부 클래스에서 접근할 수 있도록 getter랑 setter 함수를 public으로 만들어 놓기
getter 함수 = 생성한 변수를 반환
setter 함수 = 생성한 변수의 값을 변경, 서버 통신 함수를 호출하여 서버로부터 받아온 데이터로 변수 값 변경
FooddeukService(인터페이스) 에서 서버 API 함수를 모양만 정의한다. (retrofit에서 제공해주는 @GET, @POST, base URL 뒤에 붙는 파라미터들 설정)
FooddeukAPI(인터페이스에 있는 함수 실제 구현하는 곳)에서 FooddeukServiceImpl.service.만들어놓은 함수() 를 return하는 함수 생성
ViewModel setter 안 함수 내용 작성 = FooddeukAPI.함수.enqueue(object : Callback<List> {}) 쓰면 override 하라는 표시 뜸 onResponse()랑 onFailure() 오버라이드하고 onResponse() 안에 변수 값 변경 코드 작성
setter는 서버 호출이 필요한 곳에서 적절하게 호출해주면 됨
getter는 observe() 메소드를 호출해서 관찰하게 하다가, 데이터 변경이 관찰되면 할 일을 작성해주면 됨
Notes
변수 생성시 여러 개를 해야할 때는 viewmodel에 여러개 때려박지 말구 model에 데이터 클래스에서 필요한 데이터들을 묶어놓는다
Notes