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

검색창에서 검색어를 입력시 띄워주는 추천검색어 기능에 대해 질문드립니다!

0 추천
안녕하세요.
이해가 어려운부분이 생겨서 질문드립니다.

예를들어 안드로이드에선
EditText에 컴퓨터라고 치면(확인 누르기전)
"조립 컴퓨터" , "메이커 컴퓨터" , "조립 컴퓨터 맞추기" 등등 추천검색어를 띄워주는 기능있잖아요.

제 생각에 원리는 쉬울거 같은데..
EditText에  addTextChangedListener 를 달아서 텍스트가 변경될때마다 서버에 검색을 요청해서 결과값을 띄워준다.

근데 이렇게 하면
ㅋ 입력됐을때 한번 검색
커 입력됐을때 한번 검색
컴 입력됐을때 한번 검색
ㅍ 입력됐을때 한번 검색
등등..

너무 불필요하게 서버에 요청할거 같은데요.

어떤식으로 짜야 효율적일까요?

내부 데이터베이스를 이용하나요?(하루에 한번 인기 검색어 1000개를 받아온다던지..)

항상 좋은 답변주셔서 너무 감사드립니다.
김원장91 (1,470 포인트) 님이 2018년 3월 1일 질문

1개의 답변

0 추천
 
채택된 답변
이론적으로는 입력에 대한 신호가 1초 혹은 2초정도의 제한을 두시고 더이상 입력되지 않을때 api 요청을 진행하시는 방법이 어떨까 생각합니다.

delay 를 두자는거지요 ㅎㅎ

방법이야 많을거구요 간단하게 handlerpostDelay 요청후 입력들어오면 cancel 후 다시 요청 반복하면 될거같아요

그럼 생각보다 무리가지않을거같네요
토마 (840 포인트) 님이 2018년 3월 2일 답변
김원장91님이 2020년 6월 21일 채택됨
...