Guide de développement

Local Navigation

Exposer vos données d'application

Le service de recherche unifiée gère un index des contenus sur un terminal BlackBerry. Votre application utilise les classes SearchRegistry, AppContentManager et AppContentListener pour communiquer avec le service de recherche unifiée. Pour que les données de votre application soient détectables par la recherche, vous devez effectuer 5 tâches.

Tâche

Description

Définissez une classe EntityBasedSearchable pour vos objets SearchableEntity.

Un objet EntityBasedSearchable représente vos données de recherche pour le service de recherche unifiée. Lorsque vous enregistrez votre classe EntityBasedSearchable, le service requiert que votre application prépare des données pour la soumission en appelant EntityBasedSearchable.load(). Lorsque vos données d'application sont prêtes pour la soumission, appelez completed() sur le paramètre NotificationListener transmis à load().

Encapsulez vos données dans un objet SearchableEntity.

Un objet SearchableEntity est la plus petite unité de données qu'une application peut soumettre au service de recherche unifiée. Votre objet EntityBasedSearchable envoie vos objets SearchableEntity au service lorsque demandé. Encapsulez vos données d'application dans un objet SearchableEntity. Le service indexe les métadonnées qui sont exposées par ces objets pour qu'elles soient prises en compte pendant les opérations de recherche. De plus, les objets SearchableEntity sont renvoyés par le service dans les résultats de la recherche.

Le service de recherche unifiée peut devoir interrompre votre opération de chargement si le terminal BlackBerry est occupé ou que son niveau de charge de la pile est bas. Si une interruption est nécessaire, le service appelle EntityBasedSearchable.pause(). Lorsque le service détecte que l'opération peut se poursuivre, il appelle EntityBasedSearchable.resume(). Répondez à ces événements à temps pour que votre application n'entraîne pas l'interruption des autres applications sur le terminal.

Après que vous avez prévenu le service de recherche unifié du fait que vos données sont prêtes, il appelle EntityBasedSearchable.getSearchableEntities() pour indexer vos données. Le service peut à nouveau appeler load() et getSearchableEntities() s'il détecte que son index de contenu et vos données ne sont pas synchronisés.

Enregistrez votre objet EntityBasedSearchable avec le service de recherche unifiée.

Après que vous avez préparé vos données de recherche et défini leur mode d'indexation, enregistrez votre interface EntityBasedSearchable auprès du service de recherche unifiée. Transmettez votre interface EntityBasedSearchable lorsque vous appelez SearchRegistry.register(). Le service récupère vos données et les indexe pour les inclure dans les résultats de recherche.

Informez le service de recherche unifiée des modifications apportées à vos données.

Pour prévenir l'index de contenu des modifications apportées à vos données d'application, utilisez les méthodes insert(), delete() et update() dans l'objet AppContentManager.

Détectez les réponses du service de recherche unifiée.

Lorsque vous prévenez le service de recherche unifiée des modifications de vos données d'application, fournissez un objet AppContentListener où le service peut communiquer à votre application le résultat de votre demande.

Le schéma suivant illustre la relation entre les composants qui sont utilisés dans les tâches précédentes.

Ce schéma illustre la relation entre les composants qui sont utilisés pour ajouter votre contenu au service de recherche unifiée.

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.