사용자 프로필 상자

UserProfile 클래스에는 열거된 UserProfileBoxItem 개체의 집합이 포함되어 있습니다. 각 UserProfileBoxItem에는 ID(기본 키), 아이콘 및 일부 텍스트가 포함됩니다. UserProfileBoxItem은 게임 내 표시 사진 및 캐릭터 이름에서부터 성취도를 나타내는 배지까지 어떠한 것이든 나타낼 수 있습니다.

사용자 프로필 상자는 사용자 및 사용자가 다른 BlackBerry® Messenger 대화 상대와 공유할 수 있는 프로그램과 관련된 항목의 목록입니다.

UserProfileBox 클래스를 사용해 UserProfileBox 개체와 연결된 UserProfileBoxItems를 추가, 제거, 업데이트 또는 검색할 수 있습니다.

사용자 프로필 상자의 콘텐츠 표시

시작하기 전에: 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 net.rim.device.api.ui.component.*;
    import net.rim.device.api.util.*;
    import java.util.*;
  2. MainScreen을 확장하는 클래스를 만듭니다. 이 화면 클래스의 생성자에서 프로그램과 연결된 BBMPlatformContext 개체를 전달합니다.
    public class MyUserProfileScreen extends MainScreen
    {
        public MyUserProfileScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. BBMPlatformContext.getUserProfile()을 호출하여 이 BBMPlatformContext와 연결된 UserProfile 개체에 대한 참조를 검색합니다. 이 인스턴스는 현재 사용자의 프로필입니다.
    UserProfile userProfile = platformContext.getUserProfile();
    UserProfileBox userProfileBox = userProfile.getProfileBox();
    
  4. if문에서 userProfileBox.isAccessible()을 호출하여 프로필 상자에 액세스할 수 있는지 확인합니다.
    if (userProfileBox.isAccessible())
    {
    }
  5. UserProfileBox.getItems()를 호출하여 프로필 상자의 모든 항목을 가져옵니다.
    if (userProfileBox.isAccessible())
    {
        UserProfileBoxItem[] items = userProfileBox.getItems();
    }
    
  6. UserProfileBoxItem[]을 사용하여 반복합니다. 각 UserProfileBoxItem에 대해 Screen.add()를 호출해 UserProfileItem 개체의 아이콘 및 텍스트가 포함된 BitmapFieldLabelField를 표시합니다.
    if (userProfileBox.isAccessible())
    {
        UserProfileBoxItem[] items = userProfileBox.getItems();
        for(int i = 0; i < items.length; i++) {
            UserProfileBoxItem profileItem = items[i]
            Bitmap icon = userProfileBox.getIcon(profileItem.getIconId());
            myScreen.add(new BitmapField(icon));
            myScreen.add(new LabelField(profileItem.getText()));
        }
    }
    
Back To Top

코드 샘플: 사용자 프로필 상자의 콘텐츠 표시

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

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 net.rim.device.api.util.*;
import java.util.*;
public class MyUserProfileBoxScreen extends MainScreen 
{    
    public MyUserProfileBoxScreen(BBMPlatformContext platformContext) 
    {
        UserProfile userProfile = platformContext.getUserProfile();
        UserProfileBox userProfileBox = userProfile.getProfileBox();
        if (userProfileBox.isAccessible())
        {
            UserProfileBoxItem[] items = userProfileBox.getItems();
            for(int i = 0; i < items.length; i++) {
                UserProfileBoxItem profileItem = items[i]
                Bitmap icon = userProfileBox.getIcon(profileItem.getIconId());
                myScreen.add(new BitmapField(icon));
                myScreen.add(new LabelField(profileItem.getText()));
            }
        }
    }
}
Back To Top

사용자 프로필 상자에 항목 추가

시작하기 전에: BlackBerry Messenger 플랫폼에 프로그램 등록 작업을 완료하고 MyUserProfileBoxScreen 화면을 표시하는 클래스가 프로그램과 연결된 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 MyUserProfileBoxScreen extends MainScreen
    {
        public MyUserProfileBoxScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. 생성자에서 BBMPlatformContext.getUserProfile()을 호출하여 이 BBMPlatformContext와 연결된 UserProfile 개체에 대한 참조를 검색합니다. 반환된 인스턴스는 현재 사용자의 프로필입니다.
    UserProfile userProfile = platformContext.getUserProfile();
  4. UserProfile.getProfileBox()를 호출하여 이 UserProfile과 연결된 UserProfileBox 개체에 대한 참조를 검색합니다.
    UserProfileBox profileBox = userProfile.getProfileBox();
    if (profileBox.isAccessible())
    {
    }
    
  5. 아이콘마다 profileBox.registerIcon()을 호출하여 프로필 상자에 사용할 아이콘을 등록합니다. EncodedImage.getEncodedImageResource()를 호출하여 아이콘으로 사용할 이미지 개체를 만듭니다.
    if (profileBox.isAccessible())
    {
        UserProfileBox profileBox = userProfile.getProfileBox();
        int iconId = 1;
        EncodedImage icon = EncodedImage.getEncodedImageResource("myImg.jpg");
        profileBox.registerIcon(iconId, icon);
    }
  6. 방금 등록한 아이콘 ID와 String을 전달하는 UserProfileBox.addItem()을 호출하여 프로필 상자에 항목을 추가합니다.
    if (profileBox.isAccessible())
    {
        UserProfileBox profileBox = userProfile.getProfileBox();
        int iconId = 1;
        EncodedImage icon = EncodedImage.getEncodedImageResource("myImg.jpg");
        profileBox.registerIcon(iconId, icon);
        profileBox.addItem(iconId, "My message.");
    }
Back To Top

코드 샘플: 사용자 프로필 상자에 항목 추가

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

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 MyUserProfileBoxScreen extends MainScreen 
{    
    public MyUserProfileBoxScreen(BBMPlatformContext platformContext) 
    {
        UserProfile userProfile = platformContext.getUserProfile();
        UserProfileBox profileBox = userProfile.getProfileBox();
        if (profileBox.isAccessible())
        {
            UserProfileBox profileBox = userProfile.getProfileBox();
            int iconId = 1;
            EncodedImage icon = EncodedImage.getEncodedImageResource("myImg.jpg");
            profileBox.registerIcon(iconId, icon);
            profileBox.addItem(iconId, "My message.");
        }
    }
}
Back To Top

사용자 프로필 상자에서 항목 제거

시작하기 전에: BlackBerry Messenger 플랫폼에 프로그램 등록 작업을 완료하고 MyUserProfileBoxScreen 화면을 표시하는 클래스가 프로그램과 연결된 BBMPlatformContext 개체에 대한 참조를 전달하도록 합니다.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.blackberry.api.bbm.platform.*;
    import net.rim.blackberry.api.bbm.platform.profile.*;
    import net.rim.device.api.system.*;
    net.rim.device.api.ui.component.*;
    import java.util.*;
  2. MainScreen을 확장하는 클래스를 만듭니다. 이 화면 클래스의 생성자에서 프로그램과 연결된 BBMPlatformContext 개체를 전달합니다.
    public class MyUserProfileBoxScreen extends MainScreen
    {
        public MyUserProfileBoxScreen(BBMPlatformContext platformContext) 
        {
        }
    }
  3. 생성자에서 BBMPlatformContext.getUserProfile()을 호출하여 이 BBMPlatformContext와 연결된 UserProfile 개체에 대한 참조를 검색합니다. 이 인스턴스는 현재 사용자의 프로필입니다.
    UserProfile userProfile = platformContext.getUserProfile();
  4. UserProfile.getProfileBox()를 호출하여 이 UserProfile와 연결된 UserProfileBox 개체에 대한 참조를 검색합니다.
    UserProfileBox profileBox = userProfile.getProfileBox();
    if (profileBox.isAccessible())
    {
    }
  5. UserProfileBox.removeItem()을 호출하여 프로필 상자에서 제거할 항목의 ID를 전달합니다. 이 예제에서는 UserProfileBox.getItems()에서 반환한 UserProfileBoxItem[]에 포함되어 있는 첫 번째 항목을 제거합니다.
    UserProfileBox profileBox = userProfile.getProfileBox();
    if (profileBox.isAccessible())
    {
        int[] itemIds = profileBox.getItemIds();
        if(itemIds.length >= 1) {
            profileBox.removeItem(itemIds[0]);
        }
    }
    
Back To Top

코드 샘플: 사용자 프로필 상자에서 항목 제거

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

import net.rim.blackberry.api.bbm.platform.*;
import net.rim.blackberry.api.bbm.platform.profile.*;
import net.rim.device.api.system.*;
net.rim.device.api.ui.component.*;
import java.util.*;
public class MyUserProfileBoxScreen extends MainScreen 
{    
    public MyUserProfileBoxScreen(BBMPlatformContext platformContext) 
    {
        UserProfile userProfile = platformContext.getUserProfile();
        UserProfileBox profileBox = userProfile.getProfileBox();
        if (profileBox.isAccessible())
        {
            int[] itemIds = profileBox.getItemIds();
            if(itemIds.length >= 1) {
                profileBox.removeItem(itemIds[0]);
            }
        }
    }
}
Back To Top

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