2011-02-14 2 views
1

거대한 데이터 (웹 서버에서 클라이언트/전화로 다운로드)를 다루고 있습니다. 현재 구문 분석하고 응용 프로그램이 시작될 때 sqlite 데이터베이스에 전체 데이터를로드하려고합니다.페이지 매김을 달성하는 방법은 무엇입니까?

많은 시간이 걸립니다. 화면 탐색을 기반으로 데이터를로드하려고합니다.

어떻게 달성 할 수 있습니까?

+0

_ 네비게이션 화면에서 _ 기반이 무엇인가요? –

답변

0

서버와 장치 간의 정보를 XML로 전달하고자 할 것입니다. 기기는 example.com/news/latest (최신 20 개 뉴스 기사의 헤드 라인), example.com/news/americas (미주 지역의 최신 기사 20 개 헤드 라인) 또는 example.com/news/article/177309/ (전체 기사 1 개)과 같은 특정 정보에 대한 URL을 요청할 수 있습니다.

그런 다음 서버는 쿼리를 기반으로 필요한 정보를 데이터베이스에 쿼리하고 XML로 클라이언트에 출력 할 수 있습니다. 클라이언트는 XML을 구문 분석하고 로컬 SQLiteDatabase에 데이터를 추가 할 수 있습니다.

0

소스에서 처음으로 반환 된 데이터 집합을 으로 제한하지 않고을 클라이언트 장치로 다운로드하지 않습니까?

+0

안녕하세요, MHTri, 예, 원본에서 가져온 데이터의 양을 처음으로 제한하지만 한 번에 전체 데이터를로드하는 것보다 시간이 적으므로 사용자 환경이 개선 될 것으로 생각합니다. 가장 좋은 방법을 제안하십시오. – Ramesh

+0

현재 구현에 대한 자세한 내용이 없으면 더 이상의 조언을 드릴 수 없습니다. 소스에서 데이터를 분리하는 방법을 살펴본 다음 앱에서 분리 된 데이터를 요청할 수있는 방법을 찾아보십시오. 예를 들어 앱의 각 페이지에 100 개의 레코드가 표시되고 SQL에서 데이터를 가져 오는 경우 명령은 SELECT TOP 100 * FROM MyTable WHERE ID = startIndex와 같을 것입니다. 여기서 startIndex는 귀하의 페이지 번호 * 100. – MHTri

0

성능 향상을 원하는 경우 데이터를 업로드하거나 서버로 다운로드하는 비동기 작업을 실행하는 것이 좋습니다. 스레드와 비슷하지만 훨씬 뛰어납니다.

관련 문제