마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

json 파싱을 하는데 mysql에 데이터가 추가될때마다 하는방법

0 추천
mysql에서 마지막 데이터만 파싱해오는 프로젝트를 만들었습니다.

버튼을 누르면 데이터를 파싱을 해오는 식으로요

그런데 이걸 디비에 데이터가 추가될경우 자동으로 파싱해오는식으로 바꾸고 싶은데 어떤식으로 해야할지 감이 잡히질않습니다.

onCreate 부분에서 무한루프를 돌려서하면 화면이 나오질 않더라구요 ㅜㅜ

어떤방법이 있을까요?
익명사용자 님이 2015년 9월 7일 질문

2개의 답변

0 추천
타이머 같은거 돌려서 특정 시간마다 버튼 누르는 부분을 호출하게 만들고, 데이터를 가져와서 이미 갖고 있는 데이터와 다르면 원하는 작업을 하게 해보세요
쎄미 (162,410 포인트) 님이 2015년 9월 7일 답변
0 추천
onCreate는 화면 나오기 전이니까 당연히 무한루프의 늪에 빠져있죠.

디비에 데이터가 추가될 경우라고 하셨는데, 추가는 누가 하는건가요?

mysql인 것으로 보아 단말의 로컬 DB가 아닌 서버DB로 생각되는데, 서버의 DB에 데이터가 추가될 때마다 단말에서 갖고와서 파싱해서 보여주겠다는 말인거죠?

아주 단순하게는 다른 분의 답변처럼 특정시간마다의 타이머로 폴링하는 방법이 있고, 이런 경우 데이터의 추가가 발생하지 않아도 갖고오고 파싱한다는 단점과 폴링 간격에 2개 이상의 데이터가 추가되면 화면에 보이지 않는 데이터가 있다는 단점이 있겠네요

일반적인 해결법이라면 디비에 데이터가 추가될 때, 트리거를 발생시키고 거기서 단말로 push를 쏴주고, push를 받아서 파싱해오는 방식이 되겠습니다만, 구현량이 꽤 많아지겠군요. (DB에 어떻게 추가되는지 알 수 없으니 트리거는 쓰지 않아도 될 가능성도 높네요)
cc1232 (35,280 포인트) 님이 2015년 9월 8일 답변
...