Creazione di un provider delle informazioni per un contatto collegato

È possibile creare una classe in grado di estendere la classe LinkedContactInfoProvider astratta per definire informazioni su un contatto collegato. Tali informazioni vengono visualizzate nell'applicazione Contatti del dispositivo BlackBerry quando un utente visualizza un contatto collegato a un contatto nell'applicazione.
  1. Importare le classi e le interfacce richieste.
    import net.rim.blackberry.api.pdap.contactlinking.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    
  2. Creare una classe che estenda LinkedContactInfoProvider.
    public class SampleLinkedContactInfoProvider extends LinkedContactInfoProvider
    {
        private Image _image;
        private String _appName;
        public SampleLinkedContactInfoProvider(Image image, String appName)    
        {        
            _image = image;
            _appName = appName;                
        }
    
  3. Implementare getAppImage() e restituire l'icona che rappresenta l'applicazione. Quando un utente visualizza un contatto nell'applicazione Contatti, il metodo deve restituire un'immagine per qualsiasi informazione da visualizzare per il contatto collegato.
    public Image getAppImage()
    {
        return _image;        
    }
    
  4. Implementare getAppName() e restituire il nome dell'applicazione. Quando un utente modifica un contatto nell'applicazione Contatti, il metodo deve restituire un nome per le informazioni sul contatto collegato da visualizzare.
    public String getAppName()
    {        
        return _appName;
    }  
    
  5. Per indicare i campi LinkedContactInfoProvider (nome utente, disponibilità o stato) supportati dall'applicazione, implementare isSupported(). Per impostazione predefinita, un campo non è supportato. È necessario implementare isSupported() solo se l'applicazione supporta qualsiasi campo.
    public boolean isSupported(int capability)
    {
        switch(capability)
        {
            case LinkedContactInfoProvider.STATUS:
            case LinkedContactInfoProvider.AVAILABILITY:
            case LinkedContactInfoProvider.USER_NAME:
                return true;
            default:
                return false;
        }
    }
    
  6. Implementare requestFields() per specificare le informazioni da visualizzare per il contatto nell'applicazione Contatti. Il metodo è richiamato dal framework quando è necessario visualizzare le informazioni per il contatto collegato nell'applicazione Contatti. Specificare il nome, lo stato e la disponibilità corrente del contatto, in base ai campi definiti come supportati in isSupported().
    public void requestFields(String contactID, final LinkedContactCallback callback, int fields)
    {        
        LinkableContact contact = ContactListScreen.getUserForID(contactID);
        if((fields & LinkedContactInfoProvider.AVAILABILITY) != 0)
        {
            callback.setAvailability(LinkedContactInfoProvider.AVAILABILITY_ONLINE);
        }
        if((fields & LinkedContactInfoProvider.STATUS) != 0)
        {            
            callback.setStatusString("<Sample contact status>");
        }       
        if((fields & LinkedContactInfoProvider.USER_NAME) != 0)
        {
            callback.setUserName(contact.toString());
        }
    }    
    
  7. Registrare il provider delle informazioni con l'applicazione in uso.
    LinkedContactUtilities.registerLinkedContactInfoProvider(
        new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"), 
        APPLICATION_ID,
        LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
    
    Questo esempio registra l'applicazione come applicazione di social networking, utilizzando il campo COMPOSE_SN_MENU_GROUP in LinkedContactConstants..
Quando un utente visualizza un contatto nell'applicazione Contatti collegata a uno dei contatti, le informazioni definite nel provider delle informazioni vengono visualizzate nella schermata di contatto. Il framework determina il layout delle informazioni. In questo esempio, poiché l'applicazione è stata definita come applicazione di social networking, le informazioni vengono visualizzate nella sezione Social network del contatto.

Esempio di codice: creazione di un provider delle informazioni per un contatto collegato

Per un esempio relativo alla creazione di un provider delle informazioni per un contatto collegato, vedere la classe SampleLinkedContactInfoProvider nell'applicazione di prova della demo di collegamento dei contatti inclusa in BlackBerry Java SDK.

Argomento successivo: Elenco attività

Le informazioni sono state utili? Inviateci i vostri commenti.