공부/[BaaS]Parse.com

Parse를 이용한 Comment기능 구현

JangGiraffe 2015. 6. 5. 10:37

Parse를 이용해 코멘트기능을 구현해봤는데 단순하고 흔한 기능임에도 불구하고 생각보다 구현하는게 쉽지 않았습니다.

제가 무식하게 코딩한 것 일 수도 있겠지만 혹시 코멘트 기능을 구현하시려는 분들은 참고해서 봐주세요.

 

 

 

저의 방법은

게시글이 있는 row에 JSONArray형식의 댓글 내용, 글쓴이, 시간을 추가해주고 이를 호출하는 방식을 사용했으며 리스트뷰에 댓글을 add하는 식으로 구현했습니다.

 

댓글 페이지에 들어가면 CommentRefresh 메서드가 실행되서 페이지 내의 코멘트listview를 초기화시키고 글에 작성된 코멘트들을 리스트뷰에 add해줍니다.

그리고 글쓰기버튼 (btn2) 를 누르면 Parse로 현재 내용,글쓴이,시간을 JSONARRAY에 추가시키고 CommentRefresh메서드를 실행시킵니다.

여기서 간혹 파스에 업로드 되서 처리되는 시간이 좀 걸려서 CommentRefresh메서드가 방금 쓴 댓글을 불러오지 못하는 경우가 발생할수 있는데, 저는 업로드 전 JSONArray의 Length와 업로드 후 length를 비교해서 강제로 add해줄 것인지를 판단하도록 했습니다.  이 방법은 또 다른 문제를 야기시키는 별로 좋은 해결책이 되지 못하는데 예를 들면 동시에 여러 유저가 삭제,추가를 하는 경우 문제가 발생할 수 있습니.

해결방법으로 생각 해 본 것은 단순히 프로그레스 다이얼로그를 추가하는것, 일정 간격으로 댓글을 갱신하는것, 카운트다운함수를 사용해서 리스트뷰에 선 추가 후 몇 초 후 코맨트리프레시함수를 호출하는방법 등입니다!

추가로 프로필사진을 띄우는 방법으로 코멘트어레이에 있는 유저아이디를 파스의 유저아이디클래스에서 쿼리해 대응시켰습니다.

스크린샷을 보면 내가 쓴 글에서만  댓글삭제표시가 뜨는데 이는 파스 유저의 커런트유저의 값과 JSONArray의 userId값을 비교해서 SetVisibillity를 주었습니다.

반응형