SearchableEntity 클래스에서 데이터 요약

통합 검색 서비스는 SearchableEntity 객체에 의해 노출되는 메타데이터를 인덱싱합니다. 이 서비스는 SearchableEntity를 검색 결과의 콘텐츠로 반환하기도 합니다. SearchableEntity 클래스에서 데이터를 요약함으로써 서비스를 위한 프로그램 데이터를 준비해야 합니다.

  1. 필요한 클래스와 인터페이스를 가져옵니다.
    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;
    
  2. EntityBasedSearchable에서 SearchField 객체의 배열을 검색합니다.
    SearchField[] searchfields = mySearchable.defineSupportedSearchFields();
  3. 검색 가능한 각 속성에 대해 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)});
    }
  4. 검색 필드 기준을 저장할 SearchFieldCriteriaList 객체를 만들어서 채웁니다.
    SearchFieldCriteriaList _sfcl = new SearchFieldCriteriaList();
    for (int i = size -1; i >= 0; --i) {
        sfcl.addCriteria(criteria[i]);
    }
  5. SearchFieldCriteriaList를 반환하도록 getSearchCriteria()를 구현합니다.
    pubic SearchFieldCriteriaList getSearchCriteria() {
        return _sfcl;
    }
  6. getData()에서 프로그램 데이터 객체를 반환합니다. 책 예제를 계속 진행하면 이 메소드가 책을 나타내는 객체를 반환합니다.
    public Object getData() {
        return myObject;
    }
  7. getTitle()에서 이 검색 가능 엔터티에 제목을 지정합니다. 검색 결과에 제목 텍스트가 나타납니다. 책 예제를 계속 진행하면 myObject.getName()이 책의 이름을 반환할 수 있습니다.
    public String getTitle() {
        return myObject.getName();
    }
  8. getSummary()에서 이 검색 가능 엔터티에 있는 데이터의 요약을 제공합니다. 검색 결과에 요약 텍스트가 나타납니다. 책 예제를 계속 진행하면 myObject.getDescription()이 책에 대한 설명을 반환할 수 있습니다.
    public String getSummary() {
        return myObject.getDescription();
    }
  9. getSearchable()를 구현합니다. 프로그램이 이 객체를 관리하기 위해 만드는 EntityBasedSearchable을 검색하여 반환합니다.
    public Searchable getSearchable() {
        return myPublisher.getSearchable();
    }
    
  10. BlackBerry 단말기 사용자가 검색 결과 목록에서 엔터티를 클릭할 때 상황에 맞는 메뉴에 나타날 옵션을 정의합니다. 자세한 내용은 "검색 결과의 데이터를 사용하여 사용자가 할 수 있는 작업 지정"을 참조하십시오.
  11. SearchableEntity가 프로그램 아이콘 외의 다른 아이콘을 표시하도록 하려면 getIcon()에서 해당 아이콘을 제공합니다. 자세한 내용은 "검색 결과에서 데이터 보기 설정 사용자 정의"를 참조하십시오.

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