2016-08-17 4 views
0

sqlite 데이터베이스에서 android 액티비티로 콜백을 작성하고 싶습니다. 현재 데이터베이스에 webservice에서 일부 데이터를 삽입하고 listview 설정할. 새 데이터를 지속적으로 확인하는 백그라운드에서 서비스를 실행하고 있습니다. 새로운 데이터가 있으면 데이터베이스를 업데이트합니다. 내 prob는 sqlite에서 activity로 콜백 onupdate를 정의하는 방법이다.SQLITE에서 Android 액티비티로 콜백을 정의하는 방법

도움이 될 것입니다.

+1

약 ContentProvider' /'ContentResolver' – pskink

답변

0

관찰자 패턴으로 결과를 얻을 수 있어야합니다. 활동은 표준 DB 쿼리 메커니즘을 사용하여 DB에서 데이터를 다시로드하는 RefreshableOnDBUpdateTrigger 과 같은 사용자 지정 인터페이스를 구현합니다.
DB 업데이트 클래스에서 RefreshableOnDBUpdateTrigger.update() 메서드를 호출 할 수 있습니다.이 메서드는 본질적으로 DB에서 업데이트 된 데이터를 가져 오는 활동 인스턴스의 메서드입니다.
구현 세부 정보는 관찰자 패턴을 참조하십시오.

+1

관찰자 패턴은 명백한 선택이지만 배경 서비스가 활동보다 오래 지속되도록 설정되어있는 경우 활동이 여전히 활성 상태인지 확인해야합니다. 이 경우 콜백을 호출하기 전에 액티비티가 살아 있는지 확인해야합니다. –

0

이렇게하려면 Android 데이터베이스 프레임 워크에서 지원하지 않는 사용자 정의 함수가 필요합니다.

이 콜백은 데이터베이스 액세스 코드에서 명시 적으로 호출해야합니다.

0

인터페이스 콜백의 또 다른 옵션은 Event Bus입니다. DB 코드는 데이터를 가져온 다음 데이터가있는 이벤트를 게시합니다. 등록 된 클래스는 이벤트를 수신합니다.

관련 문제