데이터 바인딩
layout card에서 뭐로 바꾸라하심
이거넣기
<data>
<variable
name="note"
type="com.cos."
</data>
설명
그view만을 위한 모뎅 dto필요
<TestView에 text속성에 @{String.valueOg(note.priority)}
"@{}" -->이렇게 바인딩
그 다음
gradle로 와서 <dependencies 위에
dataBinding{
enabled =true
}
설명
1. findViewById
2. setText
Rebuild하고 나면
note_item -> NoteItemBinding.java라는 파일이 만들어진다. -> 데이터랑view랑 연결된 파일입니다. 한마디로 여기안에 다 있어서 (이 디자인에 대한 레퍼런스를 다 들고 있다) findViewById 할 필요 없다
바인딩해져있다
NoteAdapter.java에서
자동완성으로 NoteItemBinding이 되야 한다.
noteItem
setText어쩌고 다 지우고
private NoteItemBinding noteItemBinding; --> findViewById안해도된다. (아직은 null이다.)
super한테 넘겨주기
super(noteItemBinding.)
onCreateViewHolder함수에서
DataBindingUtil.inflate()하기!
noteItem넣고 parant(recyclerView)넣고
.
.
return new NoteHolder(noteItemBinding)
bindView
firebase가 뭐야?
ViewModel 페이지마다 필요해요 activity마다 필요해요. model나다 만드는게 아니다.
model - 스프링이랑 똑같이
repository 싱글톤으로 만들어야 겠지 - retrofit or ............에 연결되어있겠지
util
screen
dto
network (retrofitService) ddd(도메인으로 설계)
adapter
DDD설계(도메인 주소 설계)
config 시큐리티관련된거 oauth
service 이 부분만바뀐다.
web controller dto
domain model들 관련 repository
데이터 땡겨와서 ViewModel에 set함수하나 만들어서 받아요. LiveData에 쏙 받아요.
LiveData로 감싸져있으면 불변.
setter안됨
만약 LiveData 데이터 수정하려고 한다면 새로운 스래드로 스프링에 put요청해서 콜백으로 sucess나 fail 받아요.
sucess면
컬렉션에 그 부분에
강제로 바꾸는거 하지만 LiveData를 new해서 set할 수 없으니까 MutableLivedata로 바꿔요!
Rx자바 -> reactive프로그래밍
'안드로이드' 카테고리의 다른 글
Cloud Firestore(noSQL) (0) | 2020.08.12 |
---|---|
firebase 구글 로그인 (0) | 2020.08.12 |
MVVM-AAC (0) | 2020.08.06 |
contactsApp, TedPermission (0) | 2020.08.05 |
안드로이드 패턴 M V VM -room (0) | 2020.08.05 |