Guía de desarrollo

Local Navigation

Exponer los datos de sus aplicaciones

El Servicio de búsqueda unificada mantiene un índice de contenido en un dispositivo BlackBerry . Su aplicación utiliza las clases SearchRegistry, AppContentManager y AppContentListener para comunicarse con el servicio de búsqueda unificada. Para hacer que los datos de su aplicación puedan encontrarse, debe realizar cinco tareas.

Tarea

Descripción

Defina una clase EntityBasedSearchable para sus objetos SearchableEntity.

Un objeto EntityBasedSearchable representa sus datos que se pueden buscar para el servicio de búsqueda unificada. Cuando registra su EntityBasedSearchable, el servicio solicita que su aplicación prepare los datos para su envío llamando a EntityBasedSearchable.load(). Cuando sus datos de aplicaciones están listos para su envío, debe invocar completed() en el parámetro NotificationListener pasado a load().

Encapsule sus datos en un objeto SearchableEntity.

Un objeto SearchableEntity es la unidad más pequeña de datos que una aplicación puede enviar al servicio de búsqueda unificada. Su objeto EntityBasedSearchable envía sus objetos SearchableEntity al servicio cuando se le pregunta. Debe encapsular sus datos de aplicaciones en un objeto SearchableEntity. El Servicio indexa los metadatos expuestos por estos objetos para que sean considerados durante las operaciones de búsqueda. Además, los objetos SearchableEntity se devuelven en resultados de búsqueda del servicio.

El Servicio de búsqueda unificada puede necesitar interrumpir su operación de carga si el dispositivo BlackBerry está ocupado o tiene un nivel bajo de batería. Si es necesaria una interrupción, el servicio invoca EntityBasedSearchable.pause(). Cuando el servicio detecta que su operación puede continuar, invoca EntityBasedSearchable.resume(). Responda a estos eventos de manera oportuna para que su aplicación no provoque la interrupción de otras aplicaciones del dispositivo.

Después de que notifique al Servicio de búsqueda unificada que sus datos están listos, éste llama a EntityBasedSearchable.getSearchableEntities() para indexar sus datos. El Servicio puede invocar load() y getSearchableEntities() de nuevo si detecta que su índice de contenido y sus datos no están sincronizados.

Registre su objeto EntityBasedSearchable con el Servicio de búsqueda unificada.

Después de que prepare sus datos para la búsqueda y defina cómo se indexarán, debe registrar EntityBasedSearchable con el Servicio de búsqueda unificada. Pase EntityBasedSearchable cuando invoque SearchRegistry.register(). A continuación, el Servicio recupera e indexa sus datos para su inclusión en los resultados de la búsqueda.

Notifique al Servicio de búsqueda unificada acerca de los cambios hechos a sus datos.

Para notificar al índice de contenido los cambios en sus datos de aplicaciones, utilice los métodos insert(), delete() y update() en el objeto AppContentManager.

Rastree las respuestas del Servicio de búsqueda unificada.

Cuando notifica al Servicio de búsqueda unificada los cambios en sus datos de aplicaciones, debe proporcionar un objeto AppContentListener donde el Servicio pueda notificar a su aplicación el resultado de su solicitud.

El siguiente diagrama ilustra la relación entre los componentes utilizados en las tareas anteriores.

Este diagrama muestra la relación entre los componentes utilizados para añadir su contenido al Servicio de búsqueda unificado.

¿Le ha resultado útil esta información? Envíenos sus comentarios.