사용자 프로필

UserProfile 클래스를 사용해 현재 사용자의 BlackBerry® Messenger 프로필에 액세스하고 사용자의 표시 이름, 표시 사진, 상태 및 개인 메시지를 검색 또는 변경할 수 있습니다.

BBMPlatformContext.getUserProfile() 메서드를 호출하여 현재 사용자의 프로필에 대한 참조를 검색할 수 있습니다.

UserProfile 클래스는 또한 현재 사용자의 UserProfileBoxUserProfileLocation 인스턴스에 대한 검색 메서드를 제공합니다.

사용자 프로필 검색

시작하기 전에: BlackBerry Messenger 플랫폼에 프로그램 등록 작업을 완료하고 MyUserProfileScreen 화면을 표시하는 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 전달하도록 합니다.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.profile.*;
    import net.rim.device.api.system.*;
    import java.util.*;
  2. MainScreen을 확장하는 클래스를 만듭니다. 이 화면 클래스의 생성자에서 프로그램과 연결된 BBMPlatformContext 개체를 전달합니다.
    public class MyUserProfileScreen extends MainScreen
    {
        public MyUserProfileScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. 생성자에서 BBMPlatformContext.getUserProfile()을 호출하여 이 BBMPlatformContext와 연결된 UserProfile 개체에 대한 참조를 검색합니다. 반환된 인스턴스는 현재 사용자의 프로필입니다.
    UserProfile userProfile = platformContext.getUserProfile();
  4. 생성자에서 사용자의 표시 이름, 표시 사진, 상태, 상태 메시지 및 개인 메시지를 검색합니다. 이 값들을 변수에 할당합니다.
    String displayName = userProfile.getDisplayName();
    Bitmap displayPicture = userProfile.getDisplayPicture();
    String personalMsg = userProfile.getPersonalMessage();
    int status = userProfile.getStatus();
    String statusMsg = userProfile.getStatusMessage();
Back To Top

코드 샘플: 사용자 프로필 검색

다음 코드 샘플에서는 MyUserProfileScreen을 표시한 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 MyUserProfileScreen 생성자에 전달했다고 가정합니다.

import net.rim.blackberry.api.bbm.platform.*;
import net.rim.blackberry.api.bbm.platform.profile.*;
import net.rim.device.api.ui.container.*;
import java.util.*;
public class MyUserProfileScreen extends MainScreen 
{    
    public MyUserProfileScreen(BBMPlatformContext platformContext) 
    {
        UserProfile userProfile = platformContext.getUserProfile();
        String displayName = userProfile.getDisplayName();
        Bitmap displayPicture = userProfile.getDisplayPicture();
        String personalMsg = userProfile.getPersonalMessage();
        int status = userProfile.getStatus();
        String statusMsg = userProfile.getStatusMessage();
    }
}
Back To Top

사용자 프로필 업데이트

시작하기 전에: BlackBerry Messenger 플랫폼에 프로그램을 등록하고 화면을 표시하는 클래스가 이 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 전달하도록 합니다.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.profile.*;
    import net.rim.device.api.system.*;
    import net.rim.device.api.ui.component.*;
    import java.util.*;
  2. MainScreen을 확장하는 클래스를 만듭니다. 이 화면 클래스의 생성자에서 프로그램과 연결된 BBMPlatformContext 개체를 전달합니다.
    public class MyUserProfileScreen extends MainScreen
    {
        public MyUserProfileScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. 생성자에서 BBMPlatformContext.getUserProfile()을 호출하여 BBMPlatformContext와 연결된 UserProfile 개체에 대한 참조를 검색합니다. 반환된 인스턴스는 현재 사용자의 프로필입니다.
    UserProfile userProfile = platformContext.getUserProfile();
  4. UserProfile.setStatus()를 호출하고 상태 및 메시지를 전달합니다. 이 메서드를 호출하면 이를 확인하는 대화 상자가 표시됩니다. 다음 코드 샘플은 사용자의 상태를 다른 용무 중으로 업데이트합니다. setPersonalMessage()setDisplayPicture()를 호출하여 개인 메시지와 표시 사진을 업데이트할 수도 있습니다.
    boolean allowed = userProfile.setStatus(Presence.STATUS_BUSY, "I am busy.");
    if(! allowed)
        {
            int result = Dialog.ask(Dialog.D_YES_NO, "Would you like CoolApp to stop
                         updating your profile status?");
            if(result == Dialog.YES) 
            {
                // Optional code to prevent the application from asking to update the
                // user's status
            }
         }
    
Back To Top

코드 샘플: 사용자 프로필 업데이트

다음 코드 샘플에서는 MyUserProfileScreen을 표시한 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 MyUserProfileScreen 생성자에 전달했다고 가정합니다.

import net.rim.blackberry.api.bbm.platform.*;
import net.rim.blackberry.api.bbm.platform.profile.*;
import net.rim.device.api.system.*;
import net.rim.device.api.ui.component.*;
import java.util.*;
public class MyUserProfileScreen extends MainScreen 
{    
    public MyUserProfileScreen(BBMPlatformContext platformContext) 
    {
        UserProfile userProfile = platformContext.getUserProfile();
        boolean allowed = userProfile.setStatus(Presence.STATUS_BUSY, "I am busy.");
        if(! allowed) 
        {
            int result = Dialog.ask(Dialog.D_YES_NO, "Would you like CoolApp to
                         stop updating your profile status?");
            if(result == Dialog.YES) 
            {
                // Optional code to prevent the application from asking to update
                // the user's status
            }
         }
    }
}
Back To Top

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.