2013-08-26 3 views
0

데이터베이스 스키마에서 응용 프로그램이 시작될 때 이름, 성 및 ID와 같은 데이터가 포함 된 서버에서 클라이언트를로드하는 중입니다. 이 데이터는 목록 형식으로 사용자에게 표시됩니다. 내 앱에 또 다른 탭이있어서 클라이언트 목록을 ID별로 정렬 된 섹션 헤더가있는 사람들 앱과 비슷한 섹션으로 표시하는보기로 전환됩니다. 문제는 사용자가 시작시 즉시 정렬 된 목록 탭으로 전환 할 수 있으며 해당 목록은 이미 클라이언트 객체로 채워진 db에 의존한다는 것입니다. 사용자가 즉시 전환하면 빈 db에 대한 쿼리를 작성합니다. db가 클라이언트 데이터로 완전히로드 될 때까지 호출을 차단할 수있는 방법이 있습니까? 나는 java가 동기화 된 메소드를 가지고 있으므로 db 쿼리를 동기화 할 수 있습니까?db 호출 동기화

답변

0

가장 쉬운 방법은 isReady 부울을 추가하고 루프하는 것입니다 (별도의 스레드가 db를 채우는 경우). 또는 준비가 될 때까지 버튼을 비활성화 할 수 있습니다. 이는 더 나은 해결책입니다.

+0

두 탭은 자체 조각으로 실행됩니다. Where isReady 부울을 설정하고 부분간에 전달되는 데이터를 관리하는 방법 –

+0

조각이 다른 변수를 통해 상호 작용할 수 있습니다. 가장 깨끗한 방법이 아닐 수 있습니다 (준비가 될 때까지 탭을 사용하지 않는 것이 가장 좋습니다). 하지만 클래스에 public static boolean이 있으면 db를 채우고 누구나 액세스 할 수 있습니다. 따라서 조각이 부울을 확인하고 그것이 사실 일 때까지 기다렸다면 작동 할 것입니다. –