UI API

UI API는 BlackBerry® 화면에서 사용자 인터페이스를 구축할 수 있도록 지원합니다.

UI를 포함하는 프로그램은 net.rim.device.api.system.Application의 하위 클래스인 net.rim.device.api.ui.UiApplication를 구현합니다. UIApplication 객체는 일련의 Screen 객체를 유지 관리합니다. 스택 위로 화면을 푸시하기 때문에 스택에 이미 존재하는 다른 화면 위에 해당 화면을 그립니다. 프로그램이 스택에서 화면을 제거할 경우 필요에 따라 아래에 있던 화면을 다시 그립니다. 스택 최상단에 있는 화면만이 입력 이벤트를 수신합니다.

3개의 주요 UI 객체에는 Field, Manager, 그리고 Screen이 있습니다.

필드

Field는 관리자에 포함된 사각 영역을 나타냅니다. 각 컨트롤(예: 버튼)은 필드의 인스턴스에 해당됩니다. 필드를 직접 인스턴스화할 수는 없으며, 대신 사전 빌드된 필드를 사용하거나 사용자 정의 필드를 만들 수 있습니다. 각 필드는 컨트롤을 끌어다 놓고 사용자 입력을 처리합니다. 다음은 가장 일반적으로 사용되는 사전 빌드된 필드의 예입니다.

  • ButtonField는 단순 버튼을 제공합니다.
  • LabelField는 텍스트 레이블을 제공합니다.
  • TextField는 텍스트 레이블을 제공합니다.
  • DateField는 필드에 다양한 형식으로 데이터를 저장 및 표시할 수 있도록 허용합니다.(예: 2011/11/17)
  • MapField는 필드에 지도를 렌더링할 수 있도록 허용합니다.
  • BrowserField는 필드에 웹 콘텐츠를 표시할 수 있도록 허용합니다.

Field 클래스를 확장하여 사용자 정의 필드를 만들 수 있습니다.

관리자

Manager는 레이아웃 관리자라고도 하며 필드의 레이아웃과 스크롤을 처리합니다. Manager 객체는 필드를 포함합니다. 특정 유형의 필드 레이아웃을 처리하는 다양한 Manager 하위 클래스가 있습니다.

일부 유용한 관리자가 net.rim.device.api.ui.container 패키지에 정의되어 있습니다. 다음 관리자가 가장 널리 사용됩니다.

화면 위쪽에 레이아웃 관리자를 선언하고 필드를 추가합니다. 레이아웃 관리자는 Field의 하위 클래스이므로 다른 레이아웃 관리자에 포함시킬 수 있습니다. 자체 레이아웃 관리자를 정의할 수도 있습니다.

화면

Screen은 표시하려는 항목을 나타내는 UI 요소에 대한 최상급 컨테이너입니다. Screens에는 필드(예: 텍스트 필드), 레이아웃 관리자, 라디오 버튼 및 드롭다운 목록이 포함될 수 있습니다.

UI API는 2개의 주요 화면 객체를 포함합니다.

프로그램 흐름 중단 없이 팝업 화면에 프로그램 보조 정보를 표시할 수 있습니다. 따라서 기본 화면에서 나가지 않고 화면으로 돌아옵니다. 또한 pushGlobalScreen(Screen, int, int)을 호출하여 디스플레이 스택에 푸시하려는 PopupScreen 객체를 우선 순위 지정할 수 있습니다.

메뉴

BlackBerry 스마트폰은 메뉴 키를 눌러 액세스할 수 있는 컨텍스트 메뉴 관련 명령을 관리합니다. 메뉴 항목은 MenuItem의 인스턴스입니다. 프로그램에서 열리는 메뉴를 사용자 정의할 수 있습니다. 다음 작업을 수행할 수 있습니다.

  • 메뉴가 열릴 때 화면 또는 프로그램 상태에 따라 메뉴 항목 추가 또는 제거
  • 메뉴 항목의 순서 지정
  • 메뉴 항목의 순서와 기본으로 선택되는 메뉴 항목 지정

수신기

UI API에는 필드를 변경하거나, 사용자가 키를 누르거나, 트랙패드 또는 트랙볼을 클릭하거나, 터치 스크린을 터치할 경우와 같은 다양한 유형의 이벤트에 대해 수신기를 구현할 수 있도록 하는 일반적인 이벤트 수신기 모델이 포함되어 있습니다. 필드 클래스의 setChangeListener()를 호출하여 Field 객체에 대한 수신기를 설정할 수 있습니다.

Model-View-Control 설계 패턴

net.rim.device.api.ui.component.progressindicator 패키지 작업 및 진행 표시기를 포함한 UI API의 일부 표준 구성 요소와 net.rim.device.api.ui.component.table 패키지 목록 및 테이블은 Model-View-Controller (MVC) 설계 패턴을 사용합니다.

이러한 구성 요소를 사용하기 전 MVC 설계 패턴에 익숙해야 합니다. MVC에 대해 배울 수 있는 많은 프린트 및 온라인 리소스가 있습니다.

모달 화면

화면 객체는 UiApplication 클래스의 pushScreen()pushModalScreen() 메소드에 의해 디스플레이 스택에 푸시됩니다. 화면이 디스플레이 스택(pushScreen()이 즉시 돌아오는 경우)에서 제거될 때까지 pushModalScreen()은 차단되므로 모달 화면을 사용할 때 작업 순서는 중요합니다. 이벤트 발송자 스레드를 시작하기 전에 pushModalScreen()을 호출하지 마십시오. 그러면 RuntimeException가 발생됩니다. Dialog.inform() 및 Dialog.alert()와 같은 다른 방법 또한 pushModalScreen()을 사용합니다.

그래픽

BlackBerry에서 그래픽을 만드는 몇 가지 옵션이 있습니다.

  • 텍스트, 입력 컨트롤 및 이미지와 같은 사전 정의된 UI 구성 요소를 Screen 객체에 추가할 수 있습니다.
  • 화면을 나타내는 클래스의 paint() 메소드를 재정의하여 화면에 간단한 사용자 정의 그리기를 할 수 있고 Graphics 객체에서 제공한 메소드를 사용하여 화면에 그립니다.
  • SVG API(org.w3c.dom, org.w3c.dom.events, 및 org.w3c.dom.svg)가 있는 2D 그래픽을 그릴 수 있습니다.
  • Graphics Utility API를 사용하여 보다 정교한 2D 이미지를 만들 수 있습니다. OpenGL ES API 또는 OpenVG API
  • OpenGL ES API를 사용하여 3D 이미지를 만들 수 있습니다.

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