프로그램 데이터 노출

통합 검색 서비스는 BlackBerry 단말기에서 콘텐츠 인덱스를 유지합니다. 프로그램은 SearchRegistry, AppContentManagerAppContentListener 클래스를 사용하여 통합 검색 서비스와 통신합니다. 프로그램의 데이터를 찾을 수 있도록 만들려면 다섯 가지 작업을 완료해야 합니다.

작업

설명

SearchableEntity 객체에 대해 EntityBasedSearchable 클래스를 정의합니다.

EntityBasedSearchable 객체는 검색 가능한 데이터를 통합 검색 서비스에 알립니다. EntityBasedSearchable을 등록하면 서비스가 EntityBasedSearchable.load()를 호출함으로써 데이터 전송을 준비할 것을 프로그램에 요청합니다. 프로그램 데이터를 전송할 준비가 되면 load()에 전달된 NotificationListener 매개 변수에서 completed()를 호출해야 합니다.

SearchableEntity 객체에서 데이터를 요약합니다.

SearchableEntity 객체는 프로그램이 통합 검색 서비스에 전송할 수 있는 가장 작은 데이터 단위입니다. 요청을 받으면 EntityBasedSearchable 객체가 SearchableEntity 객체를 서비스에 보냅니다. SearchableEntity 객체에서 프로그램 데이터를 요약해야 합니다. 서비스는 검색 작업 동안 판단을 위해 이들 객체에 의해 노출된 메타데이터를 인덱싱합니다. 또한 SearchableEntity 객체는 서비스로부터 검색 결과로 반환됩니다.

통합 검색 서비스는 BlackBerry 단말기가 다른 용무 중이거나 배터리 잔량이 낮은 경우 로드 작업을 중단해야 할 수도 있습니다. 중단이 필요한 경우 서비스는 EntityBasedSearchable.pause()를 호출합니다. 서비스는 작업을 계속할 수 있음을 감지하면 EntityBasedSearchable.resume()를 호출합니다. 프로그램이 단말기에 있는 다른 프로그램을 방해하지 않도록 이러한 이벤트에 제때 응답하십시오.

데이터가 준비되었음을 통합 검색 서비스에 알리면 통합 검색 서비스가 EntityBasedSearchable.getSearchableEntities()를 호출하여 데이터를 인덱싱합니다. 서비스는 콘텐츠 인덱스와 데이터가 동기화되지 않았음을 감지하는 경우 load() 및 getSearchableEntities()를 다시 호출할 수도 있습니다.

EntityBasedSearchable 객체를 통합 검색 서비스에 등록합니다.

검색용 데이터를 준비하고 인덱싱 방법을 정의한 후에는 EntityBasedSearchable을 통합 검색 서비스에 등록해야 합니다. SearchRegistry.register()를 호출할 때 EntityBasedSearchable을 전달하십시오. 그러면 서비스가 검색 결과에 포함할 데이터를 검색하고 인덱싱합니다.

데이터 변경 사항에 대해 통합 검색 서비스에 알립니다.

프로그램 데이터 변경 사항에 대해 콘텐츠 인덱스에 알리려면 AppContentManager 객체에서 insert(), delete()update() 메소드를 사용하십시오.

통합 검색 서비스의 응답을 수신합니다.

프로그램 데이터 변경 사항에 대해 통합 검색 서비스에 알릴 때, 서비스가 요청 결과를 프로그램에 알릴 수 있는 AppContentListener 객체를 제공해야 합니다.

다음 다이어그램은 이전 작업에서 사용된 구성 요소 간의 관계를 보여 줍니다.

이 다이어그램은 콘텐츠를 통합 검색 서비스에 추가할 때 사용되는 구성 요소 간의 관계를 보여 줍니다.

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.