연결된 연락처에 대한 정보 공급자 만들기
추상
LinkedContactInfoProvider 클래스를 확장하는 클래스를 만들어서 연결된 연락처에 대한 정보를 정의할 수 있습니다. 이 정보는 사용자가 프로그램에 있는 연락처와 연결된 연락처를 볼 때
BlackBerry 단말기의 주소록 프로그램에 나타납니다.
- 필요한 클래스와 인터페이스를 가져옵니다.
import net.rim.blackberry.api.pdap.contactlinking.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
- LinkedContactInfoProvider를 확장하는 클래스를 만듭니다.
public class SampleLinkedContactInfoProvider extends LinkedContactInfoProvider
{
private Image _image;
private String _appName;
public SampleLinkedContactInfoProvider(Image image, String appName)
{
_image = image;
_appName = appName;
}
- getAppImage()를 구현하고 프로그램을 나타내는 아이콘을 반환합니다. 사용자가 주소록 프로그램에서 연락처를 볼 때 연결된 연락처에 대해 정보가 나타나려면 메소드가 이미지를 반환해야 합니다.
public Image getAppImage()
{
return _image;
}
- getAppName()을 구현하고 프로그램 이름을 반환합니다. 사용자가 주소록 프로그램에서 연락처를 편집할 때 연결된 연락처에 대한 정보가 나타나려면 메소드가 이름을 반환해야 합니다.
public String getAppName()
{
return _appName;
}
- 프로그램이 지원하는 LinkedContactInfoProvider 필드(사용자 이름, 대화 가능 여부 또는 상태)를 표시하기 위해 isSupported()를 구현합니다. 기본적으로 필드가 지원되지 않습니다. 프로그램이 필드를 지원하는 경우에만 isSupported()를 구현해야 합니다.
public boolean isSupported(int capability)
{
switch(capability)
{
case LinkedContactInfoProvider.STATUS:
case LinkedContactInfoProvider.AVAILABILITY:
case LinkedContactInfoProvider.USER_NAME:
return true;
default:
return false;
}
}
- requestFields()를 구현하여 주소록 프로그램에서 연락처에 대해 표시할 정보를 지정합니다. 메소드는 주소록 프로그램에서 연결된 연락처에 대해 정보를 표시해야 할 때 프레임워크에 의해 호출됩니다. 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());
}
}
- 정보 공급자를 프로그램에 등록합니다.
LinkedContactUtilities.registerLinkedContactInfoProvider(
new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"),
APPLICATION_ID,
LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
이 예제에서는 LinkedContactConstants.에서 COMPOSE_SN_MENU_GROUP 필드를 사용하여 프로그램을 소셜 네트워킹 프로그램으로 등록합니다.
주소록 프로그램에서 사용자가 연락처 중 하나와 연결된 연락처를 표시하면 정보 공급자에서 정의한 정보가 연락처 화면에 표시됩니다. 프레임워크에 의해 정보의 레이아웃이 결정됩니다. 이 예제에서는 프로그램이 소셜 네트워킹 프로그램으로 정의되었기 때문에 연락처의 소셜 네트워크 섹션에 정보가 표시됩니다.
코드 샘플: 연결된 연락처에 대한 정보 공급자 만들기
연결된 연락처에 대한 정보 공급자를 만드는 방법의 예는 BlackBerry Java SDK에 포함된 Contact Linking Demo(연락처 연결 데모) 샘플 프로그램의 SampleLinkedContactInfoProvider 클래스를 참조하십시오.
이 정보가 도움이 되었습니까? 의견을 보내 주십시오.