이동식 저장소

MiTweet 개발일지 11 본문

프로젝트/MiTweet

MiTweet 개발일지 11

해스끼 2020. 9. 30. 00:00

플텍 계정의 이름에 자물쇠 표시

트윗을 작성한 사용자가 플텍을 걸었다면 ``TweetMiniView``에서 이름 오른쪽에 자물쇠 아이콘을 보여주도록 변경했다. 

플텍 계정의 트윗은 리트윗할 수 없으므로 리트윗 버튼을 흐리게 처리했다.

리트윗 기능 추가

공개 계정의 트윗은 누구나 리트윗할 수 있다. 리트윗 버튼을 눌러 트윗을 리트윗할 수 있게 하였다.

리트윗 버튼을 눌렀을 때
리트윗 버튼을 한번 더 눌렀을 때

리트윗 버튼을 누르면 트윗이 리트윗되고, 버튼이 연두색으로 변한다. 트위터 웹에서 확인해 보면 트윗이 정상적으로 리트윗되었음을 확인할 수 있다. 이 상태에서 리트윗 버튼을 한번 더 누르면 리트윗이 취소된다. 

 

그런데 기능을 테스트하다 보니 다음의 문제가 발생하였다.

문제 1

내가 어떤 트윗을 리트윗했는지 알아야 버튼을 연두색으로 보여줄지 검은색으로 보여줄지 결정할 수 있는데, 이 정보는 v1.1에서만 알려준다. API v2를 사용하면 내가 이 트윗을 리트윗했는지 안 했는지 알 수 없다.

 

따라서 v1.1 API를 사용하여 트윗을 한번 더 가져와야 한다. 똑같은 트윗을 v2랑 v1.1로 두 번 가져오는 게 마음에 안 들긴 하지만, 지금은 어쩔 수 없는 듯.. 나중에 v2가 완성되면 고쳐야겠다.

문제 2

API v1.1은 ``Twitter4J``를 사용하여 쉽게 접근할 수 있다. 지금 가뜩이나 성능이 안 좋아졌기 때문에 로딩 오버헤드를 최대한 줄이고자 async 메소드를 사용하여 API에 접근하였다. 그런데 이렇게 하니까 ``onBindViewHolder()``에서 트윗 정보를 여러 번 불러오고, 내가 리트윗한 트윗의 ``isRetweetedByMe`` 값이 ``false``로 설정되는 문제가 생겼다.

 

왜인지는 모르겠지만 sync 메소드를 사용하니 문제가 해결되었다. 동기화 문제인가? 이쪽은 잘 모르는데.. 내일 조금 더 만져봐야겠다.

문제 3

어째서인지 리트윗 수를 보여주는 ``TextView``가 정상적으로 보이지 않는다. 리트윗하면 수를 1 증가하도록, 리트윗을 취소하면 수를 1 감소하도록 코드를 작성했는데 위에서 보이듯이 카운트가 보이지 않는다. 앱을 재시작하면 정상적으로 보인다. 왜일까?

 

기능을 추가할수록 버그가 기하급수로 늘어난다. 내가 너무 목표를 크게 잡은 건가? 앱을 만들면 만들수록 공앱과 비교돼서 슬프다.. ㅠㅠ

TODO

  • 인용, 답글 기능 추가
  • 마음에 들어요 기능 추가
  • 버그좀 고치자!!

'프로젝트 > MiTweet' 카테고리의 다른 글

MiTweet 개발일지 13  (0) 2020.10.18
MiTweet 개발일지 12  (0) 2020.09.30
MiTweet 개발일지 10  (0) 2020.09.19
MiTweet 개발일지 9  (0) 2020.09.11
MiTweet 개발일지 8  (0) 2020.09.08
Comments