Guida allo sviluppo

Local Navigation

Esposizione dei dati delle applicazioni

Il servizio Unified Search conserva un indice del contenuto di un dispositivo BlackBerry. L'applicazione utilizza le classi SearchRegistry, AppContentManager e AppContentListener per comunicare con il servizio Unified Search. Per rendere individuabili i dati dell'applicazione, è necessario completare cinque attività.

Attività

Descrizione

Definire una classe EntityBasedSearchable per l'oggetto SearchableEntity.

Un oggetto EntityBasedSearchable rappresenta i dati ricercabili nel servizio Unified Search. Quando si registra EntityBasedSearchable, il servizio richiede all'applicazione di preparare i dati per l'invio richiamando EntityBasedSearchable.load(). Quando i dati delle applicazioni sono pronti per l'invio, è necessario richiamare completed() nel parametro NotificationListenerN passato a load().

Incapsulare i dati in un oggetto SearchableEntity.

Un oggetto SearchableEntity rappresenta l'unità più piccola di dati che un'applicazione possa inviare al servizio Unified Search. L'oggetto EntityBasedSearchable invia gli oggetti SearchableEntity al servizio, quando ciò viene richiesto. È necessario incapsulare i dati delle applicazioni in un oggetto SearchableEntity. Il servizio indicizza i metadati resi visibili da questi oggetti durante le operazioni di ricerca. Inoltre, gli oggetti SearchableEntity vengono restituiti nei risultati della ricerca dal servizio.

Il servizio Unified Search potrebbe dover interrompere l'operazione di caricamento se il dispositivo BlackBerry è occupato o dispone di un livello di carica della batteria basso. Se è necessaria un'interruzione, il servizio richiama EntityBasedSearchable.pause(). Quando il servizio rileva che l'operazione può continuare, richiama EntityBasedSearchable.resume(). Rispondere a questi eventi in tempo utile, in modo che l'applicazione non provochi l'interruzione di altre applicazioni del dispositivo.

Dopo aver notificato al servizio Unified Search che i dati sono pronti, il servizio richiama EntityBasedSearchable.getSearchableEntities() per indicizzare i dati. Il servizio potrebbe richiamare nuovamente load e getSearchableEntities() se rileva che il proprio indice del contenuto e i dati dell'utente non sono sincronizzati.

Registrare l'oggetto EntityBasedSearchable con il servizio Unified Search.

Dopo aver preparato i dati per la ricerca e aver definito le modalità di indicizzazione, è necessario registrare EntityBasedSearchable con il servizio Unified Search. Passare EntityBasedSearchable quando si richiama SearchRegistry.register(). A questo punto, il servizio recupera e indicizza i dati per l'inclusione nei risultati della ricerca.

Notificare al servizio Unified Search le modifiche apportate ai dati.

Per notificare all'indice del contenuto le modifiche apportate ai dati delle applicazioni, utilizzare i metodi insert(), delete() e update() nell'oggetto AppContentManager.

Rilevare le risposte del servizio Unified Search.

Quando si notifica al servizio Unified Search le modifiche apportate ai dati delle applicazioni, è necessario specificare un oggetto AppContentListener in cui il servizio possa notificare all'applicazione il risultato della richiesta.

Il diagramma seguente illustra la relazione tra i componenti utilizzati nelle attività precedenti.

Questo diagramma mostra la relazione tra i componenti utilizzati per aggiungere il contenuto al servizio Unified Search.

Le informazioni sono state utili? Inviateci i vostri commenti.