2012-05-24 2 views
0

Android 앱이 있으며 검색 기능을 구현하고 싶습니다.라이브 서버 데이터베이스의 Android 및 검색 기능

이 기능은 실제 서버에 액세스하고 검색된 단어가 들어있는 모든 데이터를 요청합니다.

문제는 데이터베이스가 꽤 거대하고 모든 응답을 한 번 (매우 느리게) 기다리는 대신 빨리 결과를 표시하고 싶다는 것입니다.

hello1 hello2 hello3 hello4 hello2 hello6 hello7 hello8 hello9 hello10

:

예를 들어, 사용자가 "안녕하세요"에 대한 내 데이터베이스에서 찾고 난 안녕하세요 10 문자열을

안녕하세요 기다리는 대신 첫 번째 hello1을 표시하고 hello2가 앞으로 표시됩니다.

어떻게 할 수 있습니까? 사실, 나는 비누 요청을 사용하여 클라이언트 - 서버 통신합니다.

감사합니다.

+0

먼저 서버를 요청하고 localdatabase (sqlite)에 응답을 저장 한 다음 쿼리를 통해 해당 데이터베이스에서 작업을 수행 할 수 있습니다. – user1208720

+0

나는 이것을 알고 있지만, 서버에 3GB의 데이터를 가지고 있다고 가정하자. 전화 상에 모두 저장할 수는 없다. 검색은 서버 측에서 수행 될 것이고, 서버는 검색을 수행하는 데 3 초가 걸릴 것이라고 말한다. 몇 가지 데이터를 누른 다음 2 초 데이터를 보내려면 다음 응용 프로그램은 모든 데이터를 구문 분석하고 로컬 DB에 그들을 저장하는 데 3 초가 걸릴 것입니다 다음 로컬 DB를 th 화면에 표시해야합니다, 이것은 10 초, 만약 있다면 많은 데이터가 발견되지는 않지만 많은 양의 데이터가있는 경우이 작업은 1-2 분이 걸릴 수 있습니다. 1 ~ 2 분 정도 기다리지 않고 결과를 점진적으로 보여주고 싶습니다. –

답변

0

Ana 콘텐츠 공급자를 사용해 볼 수 있다고 생각합니다. 라이브 서버에서 데이터를 가져 와서 테이블을 업데이트 할 서비스를 만듭니다. 일정 지연 후 테이블 쿼리를 시작하고 사용자가 스크롤을 시작할 때 및 결과를 계속 업데이트하십시오. 다만 생각은 결코 시도하지 않았다 !!!.

+0

@Nick, 고맙습니다.하지만 어떻게 서버에서 데이터를 가져올 수 있습니까? 각 x 초마다 요청을해야합니까? 사실, 서버에서 데이터가 필요하다면 비누 요청을하고 일단 데이터가 수신되면이를 구문 분석하여 로컬 db에 저장합니다. –