Guide de développement
Local Navigation
- Intégration avec des applications BlackBerry Device Software
- Recherche unifiée
- Rendre les données détectables
- Définition d'une classe EntityBasedSearchable pour vos objets SearchableEntity
- Encapsulation de vos données dans la classe SearchableEntity
- Specifying what users can do with your data in search results
- Enregistrement de votre objet EntityBasedSearchable auprès du service de recherche unifiée
- Informer le service de recherche unifiée des modifications apportées à vos données
- Détection des réponses du service de recherche unifiée
- Suppression des données du référentiel de contenu
- Utilisation des autres moteurs de recherche
- Vérifier qu'un terminal n'exécute qu'une seule instance de votre application
- Insertion de données au démarrage d'un terminal
- Recherche
- Prise en charge de l'interaction du terminal
- Liste des messages
- Messages personnalisés
- Pièces jointes
- Calendrier
- Liste de contacts
- Liste des tâches
- Téléphone
- BlackBerry Browser
- Commandes de menu
- Pour plus d'informations
- Glossaire
- Envoi de commentaires
- Historique de révision du document
- Informations juridiques
Documentation produit
>
Documentation pour les développeurs
>
Guides de développement et référence API pour Java
>
Guide de développement
Integration - BlackBerry Java SDK - 7.0
Encapsulation de vos données dans la classe SearchableEntity
Le service de recherche unifiée indexe les métadonnées exposées par un objet SearchableEntity. Le service renvoie également un objet SearchableEntity en tant que contenu d'un résultat de recherche. Vous devez préparer vos données d'application pour le service en les encapsulant dans votre classe SearchableEntity.
- Importez les classes et les interfaces requises.
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;
- Récupérez un tableau d'objets SearchField à partir de votre classe EntityBasedSearchable.
SearchField[] searchfields = mySearchable.defineSupportedSearchFields();
- Créez un objet SearchFieldCriteria pour chacune de vos propriétés de recherche. Dans l'échantillon de code suivant, l'objet de données d'application myObject présente une méthode getProperty() renvoyant une chaîne pour un index donné. Par exemple, si myObject décrit un livre, alors il est possible que les index 0, 1 et 2 de getProperty() renvoient le nom, l'éditeur et le nombre de pages du livre.
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)}); } - Créez et complétez un objet SearchFieldCriteriaList pour englober vos critères de champ recherche.
SearchFieldCriteriaList _sfcl = new SearchFieldCriteriaList(); for (int i = size -1; i >= 0; --i) { sfcl.addCriteria(criteria[i]); } - Implémentez getSearchCriteria() pour renvoyer votre classe SearchFieldCriteriaList.
pubic SearchFieldCriteriaList getSearchCriteria() { return _sfcl; } - Dans getData(), renvoyez votre objet de données d'application. Pour continuer avec notre exemple de livre, cette méthode renverrait un objet qui représente le livre.
public Object getData() { return myObject; } - Dans getTitle(), donnez un titre à cette entité de recherche. Le texte de titre s'affiche dans les résultats de recherche. Pour continuer avec l'exemple du livre, myObject.getName() pourrait renvoyer le nom d'un livre.
public String getTitle() { return myObject.getName(); } - Dans getSummary(), fournissez un résumé des données contenues dans cette entité de recherche. Le texte de résumé s'affiche dans les résultats de recherche. Toujours avec l'exemple du livre, myObject.getDescription() pourrait renvoyer la description d'un livre.
public String getSummary() { return myObject.getDescription(); } - Implémentez getSearchable(). Récupérez la classe EntityBasedSearchable créée par votre application pour gérer cet objet, puis renvoyez.
public Searchable getSearchable() { return myPublisher.getSearchable(); } - Définissez les options devant s'afficher dans le menu contextuel lorsqu'un utilisateur de terminal BlackBerry clique sur votre entité dans une liste de résultats de recherche. Pour plus d'informations, voir « Spécifier ce que les utilisateurs peuvent faire avec vos données dans les résultats de recherche ».
- Si vous souhaitez que cet objet SearchableEntity affiche une icône différente de l'icône de votre application, fournissez l'icône dans getIcon(). Pour plus d'informations, voir « Personnaliser l'apparence de vos données dans les résultats de recherche ».
Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.