SearchableEntity 클래스에서 데이터 요약
통합 검색 서비스는 SearchableEntity 객체에 의해 노출되는 메타데이터를 인덱싱합니다. 이 서비스는 SearchableEntity를 검색 결과의 콘텐츠로 반환하기도 합니다. SearchableEntity 클래스에서 데이터를 요약함으로써 서비스를 위한 프로그램 데이터를 준비해야 합니다.
- 필요한 클래스와 인터페이스를 가져옵니다.
import net.rim.device.api.unifiedsearch.SearchField;
import net.rim.device.api.unifiedsearch.SearchFieldCriteria;
import net.rim.device.api.unifiedsearch.SearchFieldCriteriaList;
import net.rim.device.api.unifiedsearch.entity.SearchableEntity;
import net.rim.device.api.unifiedsearch.searchables.Searchable;
- EntityBasedSearchable에서 SearchField 객체의 배열을 검색합니다.
SearchField[] searchfields = mySearchable.defineSupportedSearchFields();
- 검색 가능한 각 속성에 대해 SearchFieldCriteria 객체를 만듭니다. 다음 코드 샘플에서 프로그램 데이터 객체 myObject에는 주어진 인덱스에 대한 문자열을 반환하는 getProperty() 메소드가 있습니다. 예를 들어, myObject가 책을 나타내는 경우 getProperty()의 인덱스 0, 1 및 2는 책의 이름, 출판사, 페이지 수를 반환할 수 있습니다.
int size = searchfields.length
SearchFieldCriteria[] criteria = new SearchFieldCriteria[size];
for (int i = size -1; i >= 0; --i) {
criteria[i] = new SearchFieldCriteria(searchfields[i], new String[]{myObject.getProperty(i)});
}
- 검색 필드 기준을 저장할 SearchFieldCriteriaList 객체를 만들어서 채웁니다.
SearchFieldCriteriaList _sfcl = new SearchFieldCriteriaList();
for (int i = size -1; i >= 0; --i) {
sfcl.addCriteria(criteria[i]);
}
- SearchFieldCriteriaList를 반환하도록 getSearchCriteria()를 구현합니다.
pubic SearchFieldCriteriaList getSearchCriteria() {
return _sfcl;
}
- getData()에서 프로그램 데이터 객체를 반환합니다. 책 예제를 계속 진행하면 이 메소드가 책을 나타내는 객체를 반환합니다.
public Object getData() {
return myObject;
}
- getTitle()에서 이 검색 가능 엔터티에 제목을 지정합니다. 검색 결과에 제목 텍스트가 나타납니다. 책 예제를 계속 진행하면 myObject.getName()이 책의 이름을 반환할 수 있습니다.
public String getTitle() {
return myObject.getName();
}
- getSummary()에서 이 검색 가능 엔터티에 있는 데이터의 요약을 제공합니다. 검색 결과에 요약 텍스트가 나타납니다. 책 예제를 계속 진행하면 myObject.getDescription()이 책에 대한 설명을 반환할 수 있습니다.
public String getSummary() {
return myObject.getDescription();
}
- getSearchable()를 구현합니다. 프로그램이 이 객체를 관리하기 위해 만드는 EntityBasedSearchable을 검색하여 반환합니다.
public Searchable getSearchable() {
return myPublisher.getSearchable();
}
- BlackBerry 단말기 사용자가 검색 결과 목록에서 엔터티를 클릭할 때 상황에 맞는 메뉴에 나타날 옵션을 정의합니다. 자세한 내용은 "검색 결과의 데이터를 사용하여 사용자가 할 수 있는 작업 지정"을 참조하십시오.
- 이 SearchableEntity가 프로그램 아이콘 외의 다른 아이콘을 표시하도록 하려면 getIcon()에서 해당 아이콘을 제공합니다. 자세한 내용은 "검색 결과에서 데이터 보기 설정 사용자 정의"를 참조하십시오.
이 정보가 도움이 되었습니까? 의견을 보내 주십시오.