본문 바로가기

Android

[25일차] 채팅

User Data 클래스를 만든다. 



MessageListRequest Abstract 리퀘스트 상속 NetowrkResult<> 제네릭 타입.



드드드드드득득득득득득ㄱ득득득득득득득득득득득득득드귿귿귿귿귿귿귿귿귿귿귿귿귿귿귿그득득득득드귿귿귿그득득득ㄷ그





TypeToken gson에서 타입토큰을 넘겨줘야한다. 

TypeToken 설명 - https://brunch.co.kr/@elijah17/17


DAte를 받아야하는데 



날짜를 형식으로 바꿔 주려면  SimpleDateFormat 클래스를 사용한다. 



SimpleDateFormat 설명 - http://ontent provider loadermanager



Service로 구현 한다. push로 메세지를 수신할 때,

topic 으로 gcm을 수신한 것이 아니기 때문에  디폴트로 올거다. 


메세지를 수신하면 서버로부터 reqeust 를 날릴 거다. 내가 서버로 부터 받은 날짜 이후 내용을 다 내놔 이렇게 할거다. 


DB에서 수신하지못한 GCM들을 받아서  띄워줄거다 . 즉 채팅에서 수신하지 못한 메세지는 서버가 가지고 있으므로, 내가 그 이후 요청을 해서 응답을 받는거다. 



db에 있는 것 중에 가장 마지막 날짜를 가져올 것이다. 



DBManagerd에 추가 되어있는 데이터 중에서 type이 receive이고 날짜가 가장 큰 애를 찾아서 넘겨 받을 것이다. 


왜 sync로 처리하셨지 ? 


서비스에서 메인 액티비티로 보낼때는 로컬에서만 받으로면 localbroadcastManager로 보낸다. 


sendBroadcastSync() 로 한다. 


이거는 받아서 처리하기 전까지 동작하지 않는다. 말 근대로 싱크