45
BlackBerry Java SDK Version: 6.0 New In This Release

BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Embed Size (px)

DESCRIPTION

New In This Release Version: 6.0 Published: 2010-08-16 SWD-1245181-1119093109-001 2 What's new in BlackBerry 6....................................................................................................................................................... 4 1 Overview....................................................................................................................................................................................... 3

Citation preview

Page 1: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

BlackBerry Java SDKVersion: 6.0

New In This Release

Page 2: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Published: 2010-08-16SWD-1245181-1119093109-001

Page 3: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Contents1 Overview....................................................................................................................................................................................... 3

2 What's new in BlackBerry 6....................................................................................................................................................... 4

3 What's new in BlackBerry Java SDK 6.0.................................................................................................................................. 6

UI...................................................................................................................................................................................................... 6

Activity indicators................................................................................................................................................................... 6

Command framework............................................................................................................................................................. 7

Home screen shortcuts.......................................................................................................................................................... 8

Image scrolling enhancements............................................................................................................................................. 8

Layout managers.................................................................................................................................................................... 9

Pickers...................................................................................................................................................................................... 13

Pop-up menus and submenus.............................................................................................................................................. 14

Title bar enhancements......................................................................................................................................................... 16

Toolbars................................................................................................................................................................................... 17

Convenience key access........................................................................................................................................................ 17

Device interaction support.................................................................................................................................................... 18

BlackBerry Browser......................................................................................................................................................................... 21

WebKit browser engine.......................................................................................................................................................... 21

Graphics and animation................................................................................................................................................................. 21

Location-based services................................................................................................................................................................. 23

Support to query GPS and geolocation services that are available on the device......................................................... 23

Geocoding and reverse geocoding enhancements............................................................................................................ 23

GPS mode retrieval................................................................................................................................................................ 24

Geolocation modes................................................................................................................................................................. 24

GPS and geolocation request enhancements..................................................................................................................... 25

GPS and geolocation optimal fixes...................................................................................................................................... 25

Maps API................................................................................................................................................................................. 25

Travel time estimation........................................................................................................................................................... 26

Multimedia....................................................................................................................................................................................... 26

Autofocus enhancements...................................................................................................................................................... 26

Application integration.................................................................................................................................................................. 27

Search integration.................................................................................................................................................................. 27

Message list enhancements.................................................................................................................................................. 27

Page 4: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Personal Information Management..................................................................................................................................... 28

Phone screen enhancements................................................................................................................................................ 30

Support for setting a default content handler.................................................................................................................... 31

Network connections...................................................................................................................................................................... 31

Network API enhancement................................................................................................................................................... 31

Communication API............................................................................................................................................................... 32

Message Processing API........................................................................................................................................................ 33

4 System requirements.................................................................................................................................................................. 34

5 Find more information................................................................................................................................................................ 35

6 Glossary......................................................................................................................................................................................... 36

7 Provide feedback......................................................................................................................................................................... 39

8 Document revision history......................................................................................................................................................... 40

9 Legal notice.................................................................................................................................................................................. 41

Page 5: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Overview 1

BlackBerry® APIs provide you with the classes and interfaces that you can use to create an application with features that aredesigned specifically for a BlackBerry device. You can use the BlackBerry APIs to create applications that perform the followingfunctions:

• interact with specific built-in features of a BlackBerry device, such as the GPS and mapping functions, the camera and videorecorder, the phone, and peripherals that use Bluetooth® technology

• respond to interaction with the input methods on the BlackBerry device, such as the trackball, touch screen, or keyboard• integrate with BlackBerry® Device Software applications, such as the contacts application, the messages application, the

BlackBerry® Browser, and BlackBerry® Maps• interact with the components of the BlackBerry solution, including the BlackBerry® Enterprise Server, push services, and

server-side resources

New In This Release Overview

3

Page 6: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

What's new in BlackBerry 6 2

BlackBerry® 6 is the latest version of the BlackBerry® Device Software. It offers a new user experience with many enhancementsand new applications.

Feature Description

Intuitive, fluid design BlackBerry 6 uses a new theme that is clean, sleek, and more intuitive. BlackBerry

device users can group applications into views for quick access. For example, users

can tap or slide their finger on the navigation bar to see other views. Users can

easily interact with the device by using touch gestures such as swipes and pinches.

Simplified setup BlackBerry 6 emphasizes a quick and easy setup. After the user starts the device,

the user can view short introductory videos and go straight to the new setup process.

In the new setup process, users can set up their social networking accounts (for

example, a Facebook® account or Twitter® account). The accounts are added to the

new Social Feeds application.

Social feeds and views BlackBerry 6 introduces the Social Feeds application. Users can stay up-to-date

with their social networks and receive the latest news and information from their

favorite blogs and web sites, and from their instant messaging applications and

BlackBerry® Messenger. Users have one location where they can post a tweet, and

update their social networking and instant messaging statuses.

Enhanced browsing experience BlackBerry 6 introduces a new browsing experience for users. The BlackBerry®

Browser has been rebuilt upon the WebKit browser engine. The browser offers a

better layout with enhancements such as tabbed browsing and an optimized web

page layout that makes web pages easier to read on the device. On devices with a

touch screen, users can zoom and pan web page content with gestures such as

swipes and pinches.

The browser is also more efficient. As with previous versions of the browser, content

is compressed and optimized to provide a more efficient browsing experience.

However, the new browser actually has faster loading times for web pages.

Universal search BlackBerry 6 introduces a new search capability that allows users to search all the

data on the device at once, and extends the search to the Internet. For example, a

user can search for a contact's name and see the results that relate to that contact

such as emails, meetings, and the contacts entry in the Contacts application.

New In This Release What's new in BlackBerry 6

4

Page 7: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Related topicsSearch integration, 27

New In This Release What's new in BlackBerry 6

5

Page 8: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

What's new in BlackBerry Java SDK 6.0 3

The BlackBerry® Java® SDK 6.0 offers several exciting new and enhanced APIs and simulators that you can use to developapplications for BlackBerry devices that run BlackBerry® 6.

UI

Activity indicators

You can display on a screen a visual cue that indicates to a BlackBerry® device user that work is being done or that a task isproceeding by using the Activity and Progress Indicator API that is provided in thenet.rim.device.api.ui.component.progressindicator package. The activity indicator represents an activitywith an unknown duration. The progress indicator represents progress that is represented numerically (for example, as apercentage of a completed task). The Activity and Progress Indicator API uses a model-view-controller architecture.

An activity indicator uses a bitmap that contains frames of an animation. You use the ActivityImageField andActivityIndicatorView classes to create an activity indicator. You can add an activity indicator to any UI component,such as a screen, text field, or list item. You can also add text to an activity indicator to describe the action.

An activity indicator in a field An activity indicator with text

New In This Release What's new in BlackBerry Java SDK 6.0

6

Page 9: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

A progress indicator uses a bar that fills as the task completes. A progress indicator includes a label to indicate what the actionis, and a horizontal bar that fills from left to right to show the progress of the action. You use the ProgressBarField andProgressIndicatorView classes to create a progress indicator.

Find out more• API reference for the BlackBerry Java SDK• Progress Indicator sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• BlackBerry Java SDK UI and Navigation Development Guide• UI Guidelines for BlackBerry Smartphones

Command framework

You can encapsulate functionality so that it can be reused across your application and other applications on the BlackBerry®device by using the Command Framework API that is provided in the net.rim.device.api.command andnet.rim.device.api.command.registrar packages. For example, if your application has a button and a menu itemthat perform the same actions, you can define that common functionality once and reuse it across both UI components. In previousreleases of the BlackBerry® Java® SDK, you had to derive the functionality for each UI component which resulted in the multipleimplementations of the same functionality.

You can create commands that can be used by other applications on the device by using the classes and interfaces that areavailable in the net.rim.device.api.command.registrar package. For example, you can register a command thatprovides copy and paste functionality by using the CommandRegistrarConnection interface and allow other applicationsto retrieve and execute the command from their application.

The following components support the use of commands and the Command Framework API:

• button• Home screen shortcut

New In This Release UI

7

Page 10: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

• menu• pane manager• pop-up menu• toolbar

Find out more• API reference for the BlackBerry Java SDK• Command Framework sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI and Navigation Development Guide

Related topicsHome screen shortcuts, 8Pickers, 13Pop-up menus and submenus, 14Pane managers, 10

Home screen shortcuts

You can allow BlackBerry® device users to create shortcuts and add them to the Home screen on the BlackBerry device by usingthe Shortcut API that is provided in the net.rim.blackberry.api.homescreen package. For example, you can allowusers to create a shortcut to a contact so that when the user selects the shortcut, the Contacts application opens and displaysthe specified contact. You can allow users to create shortcuts for a wide variety of reasons such as a shortcut to a browserbookmark, map location, or playlist. You can provide users with a picker to choose where they want to add a shortcut on theHome screen (for example, a folder) by using the HomeScreenLocationPicker that is provided in thenet.rim.device.api.ui.picker package.

Find out more• API reference for the BlackBerry Java SDK• Home Screen sample application that is included in the BlackBerry Java SDK

Related topicsPickers, 13

Image scrolling enhancements

With BlackBerry® Java® SDK 5.0, you can display a row of images on a BlackBerry device screen that a BlackBerry device usercan scroll through, by using the PictureScrollField class that is provided in thenet.rim.device.api.ui.extension.component package. For each image you can provide a caption and callout textthat appears when the user scrolls through the images.

With BlackBerry Java SDK 6.0, several new methods are available in the PictureScrollField class. The following listdescribes some of the new functionality:

• You can specify the padding below an image by using the PictureScrollField.setPaddingImageBottom()method

New In This Release UI

8

Page 11: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

• You can control the distance between images and allow them to overlap by using thePictureScrollField.setImageDistance() method

• You can specify whether to display a scroll bar by using the PictureScrollField.setScrollbarVisible()method

• You can manage the height of the PictureScrollField by using the PictureScrollField.setStyle()method

• You can update images at runtime by using the PictureScrollField.updateImage() method

Find out more• API reference for the BlackBerry Java SDK• Picture Scroll Field sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• BlackBerry Java SDK UI and Navigation Development Guide• UI Guidelines for BlackBerry Smartphones

Layout managers

Absolute layout manager

You can specify the absolute position of a field on a screen by using the AbsoluteFieldManager class that is provided inthe net.rim.device.api.ui.container package. You can use AbsoluteFieldManager to control the placementof fields on a screen based on coordinates (x, y). For example, you can overlap fields on the screen of the BlackBerry® device.The EyelidFieldManager class is an extension of AbsoluteFieldManager.

Find out more• API reference for the BlackBerry® Java® SDK• Eyelid Field sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI and Navigation Development Guide

New In This Release UI

9

Page 12: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Pane managers

You can present screens within your application as panes by using the Pane Manager API that is provided in thenet.rim.device.api.ui.component.pane package. The pane manager provides views of filtered content and allowsBlackBerry® device users to navigate content without leaving the context of the screen. You can use the Pane Manager API topresent panes as scrollable panes or as tabs. Each pane supports its own layout manager, title, and view. The title represents thetitle of the pane that the user interacts with. The view specifies whether the pane is scrollable or a tab.

In the scrollable view, users can swipe across the screen or trackpad to move through each pane and to move it left or right. Youcan animate the transition from pane to pane (for example, horizontal movement or fading). For a scrollable pane, you use theHorizontalScrollableTitleView class to display the title of each pane in the scrollable view. You use theHorizontalScrollableController class to provide controls that allow users to switch between the panes by using thetrackpad and touch screen.

The first pane in a scrollable view The second pane in a scrollable view

The tab view displays all the available tabs on the screen. For a tab pane, you can use the HorizontalTabTitleView andHorizontalTabController classes to display the title of each pane as a separate tab and to provide controls that allowusers to switch between the panes by using the trackpad or touch screen. The HorizontalTabTitleView also provides theability to animate the transition from pane to pane.

New In This Release UI

10

Page 13: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Find out more• API reference for the BlackBerry® Java® SDK• Pane Manager sample application that is included in the BlackBerry Java SDK• UI Guidelines for BlackBerry Smartphones

Tables and lists

You can create dynamic tables and lists in your application by using the Table and List API that is provided in thenet.rim.device.api.ui.component.table package. For example, in response to the BlackBerry® device user's input,or to events in your application, you can generate a table, and then add, change, or delete the rows and columns and the associatedcontent.

Item Description

Simple list A simple list allows you to display text in rows. With earlier versions of the BlackBerry®

Java® SDK, you can create a list by using the ListField class. With BlackBerry Java

SDK 6.0 you can create a simple list by using the SimpleList class.

New In This Release UI

11

Page 14: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Item Description

Rich list A rich list allows you to display text and icons in rows. You can create a rich list by using

the RichList class.

Table A table allows you to display a rows, columns, and cells. You can change the background,

font, background effect, and selection effects. You can define groups of rows, columns, or

cells and create collapsible sections. You can group items under headers that always

appear in the table. You can also use a table to create a tree view. Simple lists and rich

lists are implementations of a table.

You can create a table by using the TableView class.

New In This Release UI

12

Page 15: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Item Description

Find out more• API reference for the BlackBerry Java SDK• Table and List sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• UI Guidelines for BlackBerry Smartphones

Pickers

Picker Description

File picker With BlackBerry® Java® SDK 5.0, you can enable BlackBerry device users to

navigate to the files on a BlackBerry device by using the FilePicker class that

is provided in the net.rim.device.api.ui.picker package.

With BlackBerry Java SDK 6.0, you can use the FilePicker.setView()

method to open a file picker that is specific to a file type. For example, pass in the

VIEW_PICTURES constant to open a file selection dialog box for picture files. You

can specify file types such as ring tones, videos, voice notes, music files, and images.

Location picker With BlackBerry Java SDK 5.0, you can enable users to choose a location from a list

that you define by using the LocationPicker that is provided in the

net.rim.device.api.lbs.picker package.

New In This Release UI

13

Page 16: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Picker Description

With BlackBerry Java SDK 6.0, you can enable users to select locations that are

saved as favorites in BlackBerry® Maps. If BlackBerry Maps is available on the

device, the location picker for BlackBerry Maps favorites is registered as a global

location picker. You can retrieve registered location pickers by using the

LocationPicker.getGlobalLocationPickers() method.

Location picker for geotagged photos You can enable users to select a location from a geotagged photo by using the

GeotaggedPhotoPicker class that is provided in the

net.rim.device.api.lbs.picker package. For example, a user can select

a geotagged photo from the pictures library to see the geographical coordinates

for the location. The location picker for geotagged photos works only with .jpeg files

that contain geotag metadata that is encoded as EXIF data. The user can turn on

the geotagging feature in the camera options of the device.

Location picker for Home screen

shortcuts

You can enable users to choose where they want to add a shortcut on the Home

screen (for example, a folder) by using the HomeScreenLocationPicker that

is provided in the net.rim.device.api.ui.picker package.

Find out more• API reference for the BlackBerry Java SDK• File Picker sample application and Location Picker sample application that are included in the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• BlackBerry Java SDK UI and Navigation Development Guide• UI Guidelines for BlackBerry Smartphones

Related topicsHome screen shortcuts, 8

Pop-up menus and submenus

You can add a pop-up menu and a submenu to your application by using the classes provided in thenet.rim.device.api.ui.menu package.

Menu Description

Pop-up menu A pop-up menu, similar to a context menu, contains a list of the most common

actions that BlackBerry device users can perform within the current context. An

item in the pop-up menu can include the text, an application icon, and a command.

New In This Release UI

14

Page 17: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Menu Description

A pop-up menu replaces a context menu, or a short menu, that was available in

previous versions of the BlackBerry® Java® SDK. The BlackBerry® Device Software

automatically converts an existing context menu into a pop-up menu.

Submenu A submenu is a group of related menu items. A submenu appears as a subset of a

menu item in the full menu. When you include items in a submenu, users can find

frequently-used items or important items more easily in the full menu.

Find out more• API reference for the BlackBerry Java SDK• Command Framework sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK UI and Navigation Development Guide• UI Guidelines for BlackBerry Smartphones

New In This Release UI

15

Page 18: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Title bar enhancements

You can add useful information to your application's title bar by using the StandardTitleBar class that is provided in thenet.rim.device.api.ui.component package. With earlier versions of the BlackBerry® Java® SDK, you can invokeMainScreen.setTitle() to add text to the title bar of your application's screen. By using the newStandardTitleBar, you can easily display the following additional information:

• Application icon, descriptive title, and time• Application notifications, such as a new message indicator• Wireless connection indicators, including the network coverage indicator, wireless coverage area indicator, GPS indicator,

Bluetooth® indicator, and Wi-Fi® connection indicator• Battery power level indicator• Active call indicator

Find out more• API reference for the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• BlackBerry Java SDK UI Guidelines for BlackBerry Smartphones

New In This Release UI

16

Page 19: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Toolbars

On BlackBerry® devices with a touch screen, you can provide BlackBerry device users with quick and easy access to frequentactions in an application or on a screen by using the Toolbar API that is provided in thenet.rim.device.api.ui.toolbar package. Each toolbar consists of buttons that appear at the bottom of the screen.The toolbar is visible when the user interacts with the application. The buttons can consist of an icon and text. If you provide bothan icon and text, when the user selects the button, the text appears above the button.

Find out more• API reference for the BlackBerry Java SDK• BlackBerry Java SDK UI Quick Reference Guide• UI Guidelines for BlackBerry Smartphones

Convenience key access

Convenience keys are typically located on the left and right sides of the BlackBerry® device. You can access convenience keyson the device by registering your application with the KeyHandlerRegistry class that is provided in thenet.rim.device.api.system package. When a BlackBerry device user presses a convenience key on the device, yourapplication can respond while it is running in the background. You can programmatically set your application as the defaultapplication that opens when a user presses a convenience key, regardless of whether the application that is running in theforeground consumes the corresponding convenience key event. You can listen for convenience key events by implementing theKeyListener interface.

Find out more• API reference for the BlackBerry® Java® SDK

New In This Release UI

17

Page 20: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Device interaction support

Feature Description

Slider detection You can check whether the BlackBerry® device has a slider and what state the slider

is by using the Sensor class that is provided in the

net.rim.device.api.system package.

If the device has a slider, Sensor.isSupported(Sensor.SLIDE) returns

true. If not, the method returns false.

On devices that have a slider, Sensor.getState(Sensor.SLIDE) returns

Sensor.STATE_SLIDE_CLOSED, Sensor.STATE_SLIDE_OPEN, or

Sensor.STATE_SLIDE_IN_TRANSITION.

You can define a listener to notify your application of changes to the state of the

slider by implementing the SensorListener interface.

Detection of device capabilities You can query the capability of a device by using the Device Capability API that is

provided in the net.rim.device.api.system.capability package. The

DeviceCapability class allows you to query whether specific features, such as

a virtual keyboard or a physical keyboard, are supported on the device, whether the

feature is currently available to the BlackBerry device user (for example, if the slider

on a device is open and the user can use the physical keyboard), and whether your

application can currently access the feature.

You can define a listener to notify your application of changes to the specified

capabilities of the device by implementing the

DeviceCapabilityListener interface.

Cradle detection and handling You can detect when a device is connected to a cradle (such as a car kit cradle) by

using the DeviceCapability.TYPE_CRADLE capability type that is part of

the Device Capability API.

You can use DeviceCapability.isSupported() and

DeviceCapability.isAvailable() to detect the cradle status. BlackBerry

devices that are running BlackBerry® Device Software 6.0 return true for

New In This Release UI

18

Page 21: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

isSupported(DeviceCapability.TYPE_CRADLE). When a device

running BlackBerry Device Software 6.0 is connected to a cradle, isAvailable

(DeviceCapability.TYPE_CRADLE) returns true.

When you detect a cradle connection, you can use the new CradleProtocol

class to detect the cradle type and properties. CradleProtocol is provided in

the net.rim.device.api.accessory package.

You can register your application as a cradle handler. A cradle handler is an

application that is a candidate to start when a BlackBerry device is connected to a

cradle of a specified type.

To register your application as a cradle handler, use the

CradleHandlerRegistry.registerHandler() method.

CradleHandlerRegistry is provided in the

net.rim.blackberry.api.cradle package. When you register your

application, you specify the type of cradle that you want to handle and your

application descriptor.

If any handlers are registered for a cradle type, the user is presented with a dialog

box when such a cradle is connected. The user can select which handler to use, if

any, and the selected handler application is started. The user can also indicate that

the selected handler application is automatically started the next time the cradle

of the specified type is connected.

The user can change the cradle handler settings on the device by using the Third

Party Applications section in Options.

Pinch gestures BlackBerry devices that are running BlackBerry Device Software 6.0 and that have

a touch screen support pinch gestures. Pinch gestures typically zoom in to and out

from of an item.

A pinch begins when two touch points are detected on the touch screen. At that

time, a TouchGesture.PINCH_BEGIN event is sent. As the user moves one or

both touch points, a series of TouchGesture.PINCH_UPDATE events are sent.

When the user completes the gesture, a TouchGesture.PINCH_END event is

sent.

New In This Release UI

19

Page 22: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

You can retrieve the zoom values during the pinch gesture by using the

TouchGesture.getPinchMagnitude() method.

You must set the screen property TouchscreenSettings.DETECT_PINCH

to enable the detection of pinch gestures on a screen.

Swipe gesture across the trackpad BlackBerry devices that are running BlackBerry Device Software 6.0 and that have

a trackpad support swipe gestures across the trackpad.

A TouchGesture.NAVIGATION_SWIPE event is sent when the user swipes

across the trackpad. You can retrieve information about the trackpad swipe by using

getSwipe methods in the TouchGesture class.

You must set the navigation property

NavigationDeviceSettings.DETECT_SWIPE to enable the generation of

trackpad swipe gestures on a screen.

Touch screen interaction models BlackBerry devices with a touch screen and a trackpad, such as the BlackBerry®

Torch™ 9800 smartphone, use a forceless click interaction model, where the user

taps the screen or uses the trackpad to perform an action. This model differs from

previous BlackBerry devices with a SurePress™ touch screen, where the user clicks

(presses) the screen to perform an action.

For more information about the events that are generated on each type of device

when the user interacts with the touch screen, see the BlackBerry Java SDK UI and

Navigation Development Guide.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK UI and Navigation Development Guide• UI Guidelines for BlackBerry Smartphones

New In This Release

20

Page 23: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

BlackBerry Browser

WebKit browser engine

In BlackBerry® 6, the BlackBerry® Browser is built upon the WebKit browser engine. The browser engine is the underlyingprocessing layer of the BlackBerry Browser, BlackBerry® WebWorks™ applications, and BlackBerry Java® applications that usean embedded browser object (for example, BrowserField or BrowserField2). The browser engine is responsible for parsingthe web content, applying styles, executing JavaScript® code, and laying out the content.

WebKit is an open-source browser engine that is developed by contributors from several different organizations, whose primaryfocus is on implementing key W3C® and ECMA standards. Non-standard technologies, such as images, media, or functionalitythat is specific to the BlackBerry device, must be managed by plug-ins or BlackBerry extensions to WebKit.

Find out more• BlackBerry Browser Feature and Technical Overview

Graphics and animation

Feature Description

Animation API You can add sophisticated animations to your BlackBerry® device applications by

using the Animation API that is provided in the

net.rim.device.api.animation package. The Animation API provides the

following support:

• Quick setup of common animation scenarios

• Scheduling animations to start and stop in response to application and

animation events

• Animation groups to contain and manage several animations together

• Blocking and non-blocking animation control

• Common and custom easing curves

OpenVG™ 1.1 You can include high-quality 2-D vector graphics in your applications by using the

OpenVG 1.1 API that is provided in the net.rim.device.api.openvg

package. The API uses hardware acceleration that can reduce device power

consumption and smooth graphics that scale fluidly.

New In This Release BlackBerry Browser

21

Page 24: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

OpenGL® ES 1.1 With BlackBerry® Java® SDK 5.0, you can create 2-D and 3-D hardware-accelerated

graphics for your application by using the JSR 239 Java binding for OpenGL ES.

With BlackBerry Java SDK 6.0, OpenGL ES 1.1 is supported.

Graphics Utility API and Math API You can simplify OpenGL ES and OpenVG graphics development and help optimize

performance by using the Graphics Utility API and Math API. The APIs are

implemented in the net.rim.device.api.opengles,

net.rim.device.api.openvg, and net.rim.device.api.math

packages and provide the following support:

• Built-in support for OpenGL ES and OpenVG graphics rendering by using the

VGField and GLField classes

• Support for creating an OpenVG image from a bitmap, appending path

segments and complex polygons to OpenVG paths, computing complex 2-D

transformation matrices to apply warps and other special effects to paths or

images, and querying OpenVG version information by using the VGUtils

class

• Support for projecting and undoing a production (unprojecting) between 2-D

and 3-D spaces, and generating 2-D mipmap textures by using the new

methods that are provided in the GLUtils class

• Support for vector math and bounding volume to assist with viewing frustum

culling and testing intersections by using the provided math classes

SVG API You can create superior SVG graphics to display on the device by using the SVG

API and JSR 226 enhancements. The runtime on the device now uses an accelerated

OpenVG 1.1 based rendering engine resulting in new SVG Tiny™ 1.1 and 1.2

functionality, improved rendering quality, and faster performance.

The SVG API and runtime changes provides the following features:

• Improved fill and stroke painting functionality on linear and radial gradients

• Support for all fill and stroke properties

• High-quality anti-aliased path rendering

• High quality image rendering even when the image has been transformed in

some way

New In This Release Graphics and animation

22

Page 25: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

• Improved smooth text rendering and functionality to fill and stroke paints and

arbitrary transformations

Find out more• API reference for the BlackBerry Java SDK• OpenGL sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK Graphics and Animation Development Guide

Location-based services

Support to query GPS and geolocation services that are available on the device

You can verify which location sources (internal GPS receiver, external GPS receiver, or geolocation) are supported or availableon the BlackBerry® device by using the methods available in the LocationInfo class that is provided in thenet.rim.device.api.gps package. For example, before you retrieve location data, you can invokeLocationInfo.getSupportedLocationSources() to verify which location sources the device supports.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Location-Based Services Development Guide

Geocoding and reverse geocoding enhancements

With BlackBerry® Java® SDK 5.0, you can retrieve information about a location on a map by invoking the Locator.geocode() and Locator.reverseGeocode() methods that are provided in the net.rim.device.api.lbs package. Forexample, you can use geocoding to retrieve information for a known landmark by using a street address or city. You can usereverse geocoding to find an approximate street address by using the latitudinal and longitudinal coordinates.

With BlackBerry Java SDK 6.0, you can retrieve landmark information by using a postal code or zip code and theLocator.POSTAL_ZIP_CODE constant. This constant returns the postal/zip code, province/state, and country.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Location-Based Services Development Guide

New In This Release Location-based services

23

Page 26: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

GPS mode retrieval

With BlackBerry® Java® SDK 5.0, you can retrieve the default GPS mode by invoking GPSInfo.getDefaultGPSMode()that is provided in the net.rim.device.api.gps package. In BlackBerry Java SDK 6.0, the method returns the modes inthe following order: assisted, autonomous, and cell site. The assisted mode is selected as the default mode when assisted GPSmode can be provided to the application without requiring additional credentials from the application.

If you do not specify a GPS mode when you request a location update, the default mode is selected based on the GPS capabilitythat the wireless network supports.

Find out more• API reference for the BlackBerry Java SDK• BlackBerry Java SDK Location-Based Services Development Guide

Geolocation modes

You can retrieve geolocation information from a geolocation service by using the LocationInfo class that is provided in thenet.rim.device.api.gps package. The geolocation service provides the approximate location of the BlackBerry® deviceby using the position of cell towers and WLAN access points.

Mode Description

GEOLOCATION_MODE This mode retrieves a location from among the currently available geolocation sources, based

on factors such as network connectivity, location accuracy, and data availability.

GEOLOCATION_MODE_CE

LL

This mode retrieves a location based on cell tower positioning.

GEOLOCATION_MODE_WL

AN

This mode retrieves a location based on WLAN access point positioning.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Location-Based Services Development Guide

New In This Release Location-based services

24

Page 27: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

GPS and geolocation request enhancements

You can request both GPS updates and geolocation updates in parallel by creating two threads and requesting separate instancesof the BlackBerryLocationProvider class from each thread. One thread specifies a GPS mode, and the other threadspecifies a geolocation mode. For example, you can use this method to provide a BlackBerry® device user with an approximatelocation quickly before a GPS fix is available.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Location-Based Services Development Guide

GPS and geolocation optimal fixes

To retrieve an optimal location fix you can request geolocation updates along with GPS updates by using theBlackBerryCriteria.enableGeolocationWithGPS() methods that are provided in thenet.rim.device.api.gps package. The optimal fix provides a geolocation fix when a GPS fix cannot be retrieved duringthe specified timeout period. You can use this feature in an application that requires the location of a BlackBerry® device at alltimes, and you are not concerned with how the location is retrieved.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Location-Based Services Development Guide

Maps API

You can embed a map in an application, add data to a map, display KML overlays, and create static images of a map by usingthe Maps API that is provided in the net.rim.device.api.lbs.maps package and subpackages.

The Maps API includes the MapField class that provides the following support:

• Adding your own data to a map, that is rendered directly on the map• Panning and zooming map views• Generating static images based on the current map view, including any data on the map

The RichMapField class that is provided in the net.rim.device.lbs.maps.ui package extends the functionality ofthe MapField class and provides the following support:

• Adding fields on top of a map, that are not rendered directly on the map• Allowing BlackBerry® device users to navigate through MapField components to other components on the screen

Find out more• API reference for the BlackBerry® Java® SDK

New In This Release Location-based services

25

Page 28: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

• Enhanced Map Field sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK Location-Based Services Development Guide

Travel time estimation

You can request the estimated trip duration and trip distance for automobile travel to destinations in the United States andCanada by using the Travel Time API, which is provided in the net.rim.device.api.lbs.travel package. For example,you can create a social networking application that provides the BlackBerry® device user's current location and the estimatedtime of arrival at a friend's location.

The request for a travel time estimate is forwarded to a remote Travel Time server, which plots a route between the starting andending locations. The Travel Time server uses current and historical traffic information to calculate the estimated trip durationand distance. You can create a request for the estimated trip duration and trip distance by creating an instance of theTravelTimeEstimator class and specifying the geographic coordinates for the starting and ending locations, and thestarting time of the trip. You can use the current time or a future time for the starting time of the trip.

Find out more• API reference for the BlackBerry® Java® SDK• Travel Time sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK Location-Based Services Developer Guide

Multimedia

Autofocus enhancements

You can start and stop the autofocus on the camera by using the EnhancedFocusControl interface that is provided in thenet.rim.device.api.amms.control.camera package. With previous versions of the BlackBerry® Java® SDK, you havelimited access to the camera's autofocus by using the FocusControl class that is provided in thejavax.microedition.amms.control.camera package. For example, with previous versions you can query if the camerasupports autofocus. The EnhancedFocusControl interface extends FocusControl to provide more control over thecamera's autofocus.

Find out more• API reference for the BlackBerry Java SDK• Camera sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK Multimedia Development Guide

New In This Release Multimedia

26

Page 29: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Application integration

Search integration

You can make your data discoverable in searches that are performed through the universal search application on the BlackBerry®device and you can integrate search functionality into your application by using the Unified Search API. The Unified Search APIis provided in the net.rim.device.api.unifiedsearch package and subpackages.

You can permit your data to appear in search results from:

• The universal search application on the Home screen• Other applications on the device• Your application

You can integrate search functionality into your application and permit BlackBerry device users to search other applications thatmake their data discoverable. You can also permit users to extend their search to an external search provider. An external searchprovider could be an application that provides its own search functionality, or a networked server on the Internet or behind anorganization's firewall. The universal search application on the Home screen displays results from external search providers atthe end of search.

Find out more• API reference for the BlackBerry Java SDK• Unified Search sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDKIntegration Development Guide

Message list enhancements

With BlackBerry® Java® SDK 4.6, you can create custom messages and folders that your application manages, and that areincluded in the Messages application on the BlackBerry device, by using the Message List API that is provided in thenet.rim.blackberry.api.messagelist package. With BlackBerry Java SDK 6.0, you can display a new-messageindicator by using the methods provided in the ApplicationMessageFolder class. For example, you can display the new-message indicator when your application adds new messages to your message folder.

You display a new message by using the new newMessage parameter in theApplicationMessageFolder.fireElementAdded() method or the hasNewMessages parameter in theApplicationMessageFolder.fireReset() method. By default, messages that have the UNREAD status are treated asnew. You can override this behavior by specifying the parameter as false.

New In This Release Application integration

27

Page 30: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

When a BlackBerry device user opens the Messages application, the new-message indicator is cleared and theApplicationMessageFolderListener indicates that messages are partially viewed by using the newMESSAGE_MARKED_OLD field. Your application should listen for events from the listener so that you can clear the new-messageindicator appropriately. You can display or remove the new-message indicator by using theApplicationIndicator.setNotificationState() method.

With BlackBerry Java SDK 6.0, you can invoke the Messages application and view an application message folder by using thenew MessageArguments(folder) constructor, where folder is a registered application message folder.

Find out more• API reference for the BlackBerry Java SDK• Message List sample application that is included in the BlackBerry Java SDK Integration Development Guide

Personal Information Management

Calendar entry enhancements

You can update or delete an entry in the Calendar application on the BlackBerry® device without sending a notification to themeeting's attendees. (Notifications are always sent to all attendees if a new meeting entry is added, or to new attendees ifattendees are added after the last update, to make sure that attendees are notified about a meeting and can accept or declinethe meeting.)

To update a calendar entry without notifying attendees, you use the BlackBerryPIMItem interface that is provided in thenet.rim.blackberry.api.pdap package. For example, when you save the changes to a calendar entry, you can pass inthe new BlackBerryEvent.DO_NOT_NOTIFY_ATTENDEES field when you implement BlackBerryPIMItem.commit() so that a notification is not sent.

To delete a calendar entry without notifying attendees, pass in the BlackBerryEventList.removeElement() field.

Find out more• API reference for the BlackBerry® Java® SDK• BlackBerry Java SDK Integration Development Guide

New In This Release Application integration

28

Page 31: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Contact list enhancements

Feature Description

Creating and deleting contact lists You can create and delete contact lists by using new methods in the

BlackBerryPIM class that is provided in the

net.rim.blackberry.api.pdap package. For example, you can create a

contact list that includes only the contacts from your application. Contacts from all

contact lists appear in the Contacts application on the BlackBerry® device.

A contact list that you create does not include service records and does not support

wireless synchronization.

You cannot delete a contact list if it includes a service record, is the last contact list

on the device, or is the default contact list.

Searching for contact information

associated with a call or phone number

You can search for a contact that corresponds to a phone call or phone number. For

example, when a BlackBerry device user receives a call, you can search for the

contact and display custom content about that contact on the incoming phone

screen.

For an active call, you can search for the contact by using the

PhoneCall.getContact() method. For a completed call, you can search for

the contact from the call log on the device by using the

PhoneCallLogID.getContact() method. These classes are provided in the

net.rim.blackberry.api.phone.phone and

net.rim.blackberry.api.phone.phonelogs packages.

To search all the contact lists for a matching phone number, you can use the

Phone.getContactsByPhoneNumber() method. This class is provided in

the net.rim.blackberry.api.phone package.

You can search for a contact in a specific contact list by a phone number by using

one of the BlackBerryContactList.itemsByPhoneNumber() methods.

This class is provided in the net.rim.blackberry.api.pdap package.

New In This Release Application integration

29

Page 32: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

Accessing a secondary phone number You can access a secondary mobile phone number or fax number that is associated

with a contact by using the new contact attributes in the

BlackBerryContact class. This class is provided in the

net.rim.blackberry.api.pdap package.

Find out more• API reference for the BlackBerry® Java® SDK• Create Contact and Phone Screen sample applications that are included in the BlackBerry Java SDK• BlackBerry Java SDK Integration Development Guide

Phone screen enhancements

With BlackBerry® Java® SDK 5.0, you can customize the incoming and the active phone screens on a BlackBerry device to displaycontent about a caller by using the Phone Screen API that is provided in thenet.rim.blackberry.api.phone.phonegui package. For example, when a BlackBerry device user receives a call, youcan display information about the caller that is provided by your application.

With BlackBerry Java SDK 6.0, the Phone Screen API enhancements make is easier for you to display content on a phone screen.

• You can access phone screen objects, the device orientation (portrait or landscape), and the type of phone screen (incomingor active) by using the ScreenModel class. Previously, you used multiple instances of PhoneScreen objects.

• You can make your content look like the default content that the Phone application displays on the incoming and the activephone screens by invoking PhoneScreen.getCallerInfoFont().

• You can easily get the dimensions of a phone screen by invoking PhoneScreen.getDimensions(). With BlackBerryJava SDK 5.0, you invoked this method for each orientation of the phone screen and each type of phone screen.

Find out more

New In This Release Application integration

30

Page 33: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

• API reference for the BlackBerry Java SDK• Phone Screen sample application that is included in the BlackBerry Java SDK• BlackBerry Java SDK Integration Development Guide

Support for setting a default content handler

You can register your application as the default handler for a content type by using theDefaultContentHandlerRegistry class that is provided in the net.rim.device.api.content package. Forexample, you can register your application as the default handler for certain types of documents. If multiple content handlersare registered for a content type, BlackBerry® device users can choose the content handler that they want to set as the defaultcontent handler.

Find out more• API reference for the BlackBerry Java SDK• CHAPI sample application that is included in the BlackBerry Java SDK

Network connections

Network API enhancement

With BlackBerry® Java® SDK 5.0, you can specify how your application opens a connection to a wireless network by using theNetwork API that is provided in the net.rim.device.api.io.transport andnet.rim.device.api.io.transport.options packages. The Network API simplifies how your application opens aconnection to a wireless network, and enables you to find the wireless transport types that are available on the BlackBerry device.For example, you can specify an ordered list of transports you want to use to establish a network connection, and let the NetworkAPI choose the first available transport.

In BlackBerry Java SDK 6.0, enhancements have been made to the Network API.

Feature Description

Datagram protocol You can take advantage of UDP by using the network connection functionality that was

introduced in BlackBerry Java SDK 5.0. With BlackBerry Java SDK 6.0, calls to the

ConnectionFactory.getConnection() method in the

net.rim.device.api.io.transport package accept UDP (unicast only) and

datagram URLs. This feature is supported only when you use the

TRANSPORT_TCP_CELLULAR and TRANSPORT_TCP_WIFI transports.

New In This Release Network connections

31

Page 34: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Feature Description

Detect changes in network

transport coverage

You can listen for changes in network transport coverage by implementing the

CoverageStatusListener interface. A change in coverage can have several sources,

including the addition or deletion of service books, changes to signal strength, transport

specific communication requirements, and others.

Detect a default APN You can check if the default APN is configured for the device in the device's TCP/IP options

by using the TcpCellularOptions.isDefaultAPNSet() method in the

net.rim.device.api.io.transport.options package.

Find out more• API reference for the BlackBerry Java SDK• Network API sample application that is included in the BlackBerry Java SDK

Communication API

Your application can communicate with server-side services by using the Communication API. The Communication API isimplemented in the net.rim.device.api.io.messaging package. The API provides a communication library on theBlackBerry® device that is designed to make it easy to communicate with server-side services such as web services.

Your application can use the Communication API to communicate with other BlackBerry device applications that include therequired listeners. For example, your application can use the Communication API to listen for push messages and be notified bya callback when a message arrives.

The Communication API includes support for the following functionality:

• Synchronous and asynchronous communications• Queuing incoming messages until they are processed by an application• Starting an application in response to an incoming message• Handling incoming messages as streams• Authenticating a device• Using a single application to communicate with multiple endpoints

Find out more• API reference for the BlackBerry® Java® SDK• Communication API sample application that is included in the BlackBerry Java SDK

New In This Release Network connections

32

Page 35: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Message Processing API

You can build, parse, and query network messages in various formats by using the Message Processing API that is provided inthe net.rim.device.api.io.parser and org.json packages. You can use the Message Processing API in conjunctionwith the Communication API to create end-to-end network communications. The Message Processing API supports the followingformats: XML, RSS (RDF, Atom), SOAP, and JSON.

Find out more• API reference for the BlackBerry® Java® SDK• Communication API sample application that is included in the BlackBerry Java SDK

New In This Release Network connections

33

Page 36: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

System requirements 4

Item Requirement

development environment One of the following development environments:

• BlackBerry® Java® Plug-in for Eclipse® 1.1 or later with BlackBerry® Java® SDK 6.0

• BlackBerry® Java® Development Environment 6.0

• another third-party development environment, such as NetBeans™, that is running

BlackBerry Java SDK 6.0

BlackBerry Smartphone Simulator

or BlackBerry device

Any BlackBerry Smartphone Simulator or device that is running BlackBerry® Device

Software 6.0 or later

New In This Release System requirements

34

Page 37: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Find more information 5

• www.blackberry.com/go/apiref: View the latest version of the API reference for the BlackBerry® Java® SDK.• www.blackberry.com/go/devguides: Find development guides, release notes, and sample application overviews for the

BlackBerry Java SDK.• www.blackberry.com/developers: Visit the BlackBerry® Developer Zone for resources on developing BlackBerry device

applications.• www.blackberry.com/go/developerkb: View knowledge base articles on the BlackBerry Development Knowledge Base.• www.blackberry.com/developers/downloads: Find the latest development tools and downloads for developing BlackBerry

device applications.

New In This Release Find more information

35

Page 38: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Glossary 6

2-Dtwo-dimensional

3-Dthree-dimensional

AESAdvanced Encryption Standard

APIapplication programming interface

CDMACode Division Multiple Access

CRMcustomer relationship management

DOMDocument Object Model

DTMFDual Tone Multiple-frequency

EXIFExchangeable Image File Format

GPSGlobal Positioning System

GSMGlobal System for Mobile Communications®

HTTPHypertext Transfer Protocol

HTTPSHypertext Transfer Protocol over Secure Sockets Layer

JSONJavaScript® Object Notation

New In This Release Glossary

36

Page 39: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

JSRJava® Specification Request

MIDPMobile Information Device Profile

PBXPrivate Branch Exchange

PINpersonal identification number

POPPost Office Protocol

RDFResource Description Framework

RMSRecord Management System

RSSRadio Standards Specification

SIMSubscriber Identity Module

SOAPSimple Object Access Protocol

SMSShort Message Service

SQLStructured Query Language

SSLSecure Sockets Layer

SVGScalable Vector Graphics

TCPTransmission Control Protocol

New In This Release Glossary

37

Page 40: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Triple DESTriple Data Encryption Standard

UIDunique identifier

WLANwireless local area network

XMLExtensible Markup Language

New In This Release Glossary

38

Page 41: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Provide feedback 7

To provide feedback on this deliverable, visit www.blackberry.com/docsfeedback.

New In This Release Provide feedback

39

Page 42: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Document revision history 8

Date Description

3 September 2010 Added the following topics:

• Pop-up menus and submenus

• WebKit browser engine

Changed the Graphics and animation topic.

27 August 2010 Added the following topics:

• Convenience key access

• Pop-up menus and submenus

16 August 2010 Added the Device interaction support topic.

3 August 2010 Initial version.

New In This Release Document revision history

40

Page 43: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

Legal notice 9

©2010 Research In Motion Limited. All rights reserved. BlackBerry®, RIM®, Research In Motion®, and related trademarks, names,and logos are the property of Research In Motion Limited and are registered and/or used in the U.S. and countries around theworld.

Bluetooth is a trademark of Bluetooth SIG. Eclipse is a trademark of Eclipse Foundation, Inc. Facebook is a trademark of Facebook,Inc. GSM is a trademark of the GSM MOU Association. Intel and Pentium are trademarks of Intel Corporation. Java, JavaScript,and NetBeans are trademarks of Oracle America, Inc. OpenGL is a trademark of Silicon Graphics, Inc. OpenVG is a trademarkof Khronos Group. SQLite is a trademark of Hipp, Wyrick & Company, Inc. SVG Tiny is a trademark of W3C. Twitter is a trademarkof Twitter, Inc. Wi-Fi is a trademark of the Wi-Fi Alliance. All other trademarks are the property of their respective owners.

This documentation including all documentation incorporated by reference herein such as documentation provided or madeavailable at www.blackberry.com/go/docs is provided or made accessible "AS IS" and "AS AVAILABLE" and without condition,endorsement, guarantee, representation, or warranty of any kind by Research In Motion Limited and its affiliated companies("RIM") and RIM assumes no responsibility for any typographical, technical, or other inaccuracies, errors, or omissions in thisdocumentation. In order to protect RIM proprietary and confidential information and/or trade secrets, this documentation maydescribe some aspects of RIM technology in generalized terms. RIM reserves the right to periodically change information thatis contained in this documentation; however, RIM makes no commitment to provide any such changes, updates, enhancements,or other additions to this documentation to you in a timely manner or at all.

This documentation might contain references to third-party sources of information, hardware or software, products or servicesincluding components and content such as content protected by copyright and/or third-party web sites (collectively the "ThirdParty Products and Services"). RIM does not control, and is not responsible for, any Third Party Products and Services including,without limitation the content, accuracy, copyright compliance, compatibility, performance, trustworthiness, legality, decency,links, or any other aspect of Third Party Products and Services. The inclusion of a reference to Third Party Products and Servicesin this documentation does not imply endorsement by RIM of the Third Party Products and Services or the third party in any way.

EXCEPT TO THE EXTENT SPECIFICALLY PROHIBITED BY APPLICABLE LAW IN YOUR JURISDICTION, ALL CONDITIONS,ENDORSEMENTS, GUARANTEES, REPRESENTATIONS, OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDINGWITHOUT LIMITATION, ANY CONDITIONS, ENDORSEMENTS, GUARANTEES, REPRESENTATIONS OR WARRANTIES OFDURABILITY, FITNESS FOR A PARTICULAR PURPOSE OR USE, MERCHANTABILITY, MERCHANTABLE QUALITY, NON-INFRINGEMENT, SATISFACTORY QUALITY, OR TITLE, OR ARISING FROM A STATUTE OR CUSTOM OR A COURSE OF DEALINGOR USAGE OF TRADE, OR RELATED TO THE DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCEOF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES REFERENCED HEREIN, AREHEREBY EXCLUDED. YOU MAY ALSO HAVE OTHER RIGHTS THAT VARY BY STATE OR PROVINCE. SOME JURISDICTIONSMAY NOT ALLOW THE EXCLUSION OR LIMITATION OF IMPLIED WARRANTIES AND CONDITIONS. TO THE EXTENTPERMITTED BY LAW, ANY IMPLIED WARRANTIES OR CONDITIONS RELATING TO THE DOCUMENTATION TO THE EXTENTTHEY CANNOT BE EXCLUDED AS SET OUT ABOVE, BUT CAN BE LIMITED, ARE HEREBY LIMITED TO NINETY (90) DAYS FROMTHE DATE YOU FIRST ACQUIRED THE DOCUMENTATION OR THE ITEM THAT IS THE SUBJECT OF THE CLAIM.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, IN NO EVENT SHALL RIM BE LIABLEFOR ANY TYPE OF DAMAGES RELATED TO THIS DOCUMENTATION OR ITS USE, OR PERFORMANCE OR NON-PERFORMANCE OF ANY SOFTWARE, HARDWARE, SERVICE, OR ANY THIRD PARTY PRODUCTS AND SERVICES REFERENCED

New In This Release Legal notice

41

Page 44: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

HEREIN INCLUDING WITHOUT LIMITATION ANY OF THE FOLLOWING DAMAGES: DIRECT, CONSEQUENTIAL, EXEMPLARY,INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR AGGRAVATED DAMAGES, DAMAGES FOR LOSS OF PROFITS OR REVENUES,FAILURE TO REALIZE ANY EXPECTED SAVINGS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, LOSS OFBUSINESS OPPORTUNITY, OR CORRUPTION OR LOSS OF DATA, FAILURES TO TRANSMIT OR RECEIVE ANY DATA, PROBLEMSASSOCIATED WITH ANY APPLICATIONS USED IN CONJUNCTION WITH RIM PRODUCTS OR SERVICES, DOWNTIME COSTS,LOSS OF THE USE OF RIM PRODUCTS OR SERVICES OR ANY PORTION THEREOF OR OF ANY AIRTIME SERVICES, COST OFSUBSTITUTE GOODS, COSTS OF COVER, FACILITIES OR SERVICES, COST OF CAPITAL, OR OTHER SIMILAR PECUNIARYLOSSES, WHETHER OR NOT SUCH DAMAGES WERE FORESEEN OR UNFORESEEN, AND EVEN IF RIM HAS BEEN ADVISEDOF THE POSSIBILITY OF SUCH DAMAGES.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW IN YOUR JURISDICTION, RIM SHALL HAVE NO OTHEROBLIGATION, DUTY, OR LIABILITY WHATSOEVER IN CONTRACT, TORT, OR OTHERWISE TO YOU INCLUDING ANY LIABILITYFOR NEGLIGENCE OR STRICT LIABILITY.

THE LIMITATIONS, EXCLUSIONS, AND DISCLAIMERS HEREIN SHALL APPLY: (A) IRRESPECTIVE OF THE NATURE OF THECAUSE OF ACTION, DEMAND, OR ACTION BY YOU INCLUDING BUT NOT LIMITED TO BREACH OF CONTRACT, NEGLIGENCE,TORT, STRICT LIABILITY OR ANY OTHER LEGAL THEORY AND SHALL SURVIVE A FUNDAMENTAL BREACH OR BREACHESOR THE FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR OF ANY REMEDY CONTAINED HEREIN; AND (B)TO RIM AND ITS AFFILIATED COMPANIES, THEIR SUCCESSORS, ASSIGNS, AGENTS, SUPPLIERS (INCLUDING AIRTIMESERVICE PROVIDERS), AUTHORIZED RIM DISTRIBUTORS (ALSO INCLUDING AIRTIME SERVICE PROVIDERS) AND THEIRRESPECTIVE DIRECTORS, EMPLOYEES, AND INDEPENDENT CONTRACTORS.

IN ADDITION TO THE LIMITATIONS AND EXCLUSIONS SET OUT ABOVE, IN NO EVENT SHALL ANY DIRECTOR, EMPLOYEE,AGENT, DISTRIBUTOR, SUPPLIER, INDEPENDENT CONTRACTOR OF RIM OR ANY AFFILIATES OF RIM HAVE ANY LIABILITYARISING FROM OR RELATED TO THE DOCUMENTATION.

Prior to subscribing for, installing, or using any Third Party Products and Services, it is your responsibility to ensure that yourairtime service provider has agreed to support all of their features. Some airtime service providers might not offer Internet browsingfunctionality with a subscription to the BlackBerry® Internet Service. Check with your service provider for availability, roamingarrangements, service plans and features. Installation or use of Third Party Products and Services with RIM's products and servicesmay require one or more patent, trademark, copyright, or other licenses in order to avoid infringement or violation of third partyrights. You are solely responsible for determining whether to use Third Party Products and Services and if any third party licensesare required to do so. If required you are responsible for acquiring them. You should not install or use Third Party Products andServices until all necessary licenses have been acquired. Any Third Party Products and Services that are provided with RIM'sproducts and services are provided as a convenience to you and are provided "AS IS" with no express or implied conditions,endorsements, guarantees, representations, or warranties of any kind by RIM and RIM assumes no liability whatsoever, in relationthereto. Your use of Third Party Products and Services shall be governed by and subject to you agreeing to the terms of separatelicenses and other agreements applicable thereto with third parties, except to the extent expressly covered by a license or otheragreement with RIM.

Certain features outlined in this documentation require a minimum version of BlackBerry® Enterprise Server, BlackBerry® DesktopSoftware, and/or BlackBerry® Device Software.

New In This Release Legal notice

42

Page 45: BlackBerry_Java_SDK-New_In_This_Release--1245181-0730084733-001-6.0-US

The terms of use of any RIM product or service are set out in a separate license or other agreement with RIM applicable thereto.NOTHING IN THIS DOCUMENTATION IS INTENDED TO SUPERSEDE ANY EXPRESS WRITTEN AGREEMENTS OR WARRANTIESPROVIDED BY RIM FOR PORTIONS OF ANY RIM PRODUCT OR SERVICE OTHER THAN THIS DOCUMENTATION.

Research In Motion Limited295 Phillip StreetWaterloo, ON N2L 3W8Canada

Research In Motion UK Limited Centrum House 36 Station Road Egham, Surrey TW20 9LF United Kingdom

Published in Canada

New In This Release Legal notice

43