You are on page 1of 28

Developing Java™ ME Applications for

BlackBerry Has Never Been Easier… Get


Started Today
James Schauer
Product Manager, Applications & Content

Michael Clewley
Technical Product Manager, BlackBerry Platform
Our current line up …

… and much more excitement on the way!


2008 JavaOneSM Conference | java.sun.com/javaone | 2
The BlackBerry train is ‘full steam ahead’
More than 14M Subscribers, 350 Carriers, 135 Countries
Doubling base every year
~$64B Market Cap.
½ sales to consumers!

2008 JavaOneSM Conference | java.sun.com/javaone | 3


BlackBerry Internet Service (BIS)

6,00 0

5,00 0

4,00 0
Subs (100 0' s)

3,00 0

2,00 0

1,00 0

0
Q1 '06 Q2 '06 Q3 '06 Q4 '06 Q1 '07 Q2 '07 Q3 '07 Q4 '07 Q1 '08 Q2 '08 Q3 '08 Q4 '08

BlackBerry is not just a business tool anymore!


2008 JavaOneSM Conference | java.sun.com/javaone | 4
‘Do More’: Key areas of Application Interest
Social Networking
Location Based Services
Multimedia: platforms and content
Travel
M-commerce
Sports!

Neosistec ‘Car Finder’


2008 JavaOneSM Conference | java.sun.com/javaone | 5
Just some of the others innovating on BlackBerry:
Major League Baseball (MLB.com)
XM Radio
Facebook ESPN
Yahoo Fox News
Google ABC News
ZAGAT Garmin
Reuters Trimble
Bloomberg Telenav
Fidelity MobiTV
EA Games Viigo
Gameloft Bankinter
Magmic/BPlay And many, many others!
2008 JavaOneSM Conference | java.sun.com/javaone | 6
BlackBerry JavaTM / Java ME Platform
The BlackBerry is a pure Java platform device with all built-in applications
and APIs written in the Java platform

BlackBerry supports:
• MIDP Standard APIs (MIDP v2.0 supported) for cross platform development
• CLDC Standard APIs (CLDC v1.1 supported) for connectivity
• BlackBerry specific Java technology-based APIs

Other key capabilities include:


• Networking and Secure Push Services
• Rich multimedia features
• Location and mapping services
• Data access and Persistent storage
• Messaging Support (Email, PIN, and SMS)
• Integration with built-in applications

2008 JavaOneSM Conference | java.sun.com/javaone | 7


Evolution of BlackBerry Java Platform Support

JSR-172 Web Services


JSR-205 MMS
JSR-211 CHAPI
API Features

JSR-238 Internationalization

Map Field
Spell Check
HTML Email
Multimedia Focus
JSR-75 File API
JSR-82 Bluetooth
Application Permissions
JSR-179 LBS
Color
Smartphone Smart Card APIs
Initial release Support
MIDP 1.0 MIDP 2.0
CLDC 1.0 CLDC 1.1
Invoke
PIM APIs
Mail APIs

3.3 3.6 3.7 4.0 4.0.2 4.1 4.2 4.2.1 4.3.0 4.5

BlackBerry JDE Versions


2008 JavaOneSM Conference | java.sun.com/javaone | 8
APIs and Capabilities
Networking
Multiple network transports are available:
• BlackBerry Mobile Data System for intranet access
• Direct TCP Connectivity
• Carrier WAP Gateway
• BlackBerry® Internet Service

Multiple connection types


• HTTP & Persistent Socket connections

2008 JavaOneSM Conference | java.sun.com/javaone | 9


APIs and Capabilities
“Push” refers to a server-initiated connection where a server-side
application sends data to a client application proactively
Key benefits over polling for new data:
• Reduced network traffic
• Reduce cost, increase battery life
• Reduced processing requirements
• Timeliness of data
Can be used in many different ways:
• Pushing notifications for business workflow
• Push updates of time sensitive data
• Just like BlackBerry Email!

2008 JavaOneSM Conference | java.sun.com/javaone | 10


APIs and Capabilities
Multimedia
Build applications using the
Mobile Multi-Media API (JSR 135) to embed audio
and video
Leverage the Media Player on the BlackBerry
smartphone for playback of multimedia content
Record audio and store it on the BlackBerry
smartphone or send it over the network
Camera integration allows applications to use the
image capture abilities for pictures

2008 JavaOneSM Conference | java.sun.com/javaone | 11


APIs and Capabilities

Location Based Services


• Enhance applications by adding location
awareness using JSR-179 Location Based Services
• BlackBerry supports:
• Cellsite fixes (CDMA only)
• Assisted GPS (certain carriers only)
• Ephemeris Extensions (EDGE only)
• Autonomous Fixes (EDGE and CDMA)
• External GPS receiver connected over Bluetooth

2008 JavaOneSM Conference | java.sun.com/javaone | 12


APIs and Capabilities

BlackBerry Maps
• Create sophisticated location aware
solutions with very little effort
• Invocation or built in support (via
MapField) allow for flexible addition of
mapping to your application
• Supports static routes both text and on-
map

2008 JavaOneSM Conference | java.sun.com/javaone | 13


APIs and Capabilities

Data Access and Persistent Storage


• Several mechanisms to support data access and
persistent storage for applications:
• MIDP RMS Data Storage
• BlackBerry Persistence Model
• File Connection API - JSR 75
• microSD file system access provided via JSR-75
• File system listeners provide additional mechanisms
for integration

2008 JavaOneSM Conference | java.sun.com/javaone | 14


APIs and Capabilities

Messaging Support
• Email
• Integrate with the BlackBerry Email application to send and receive email
• PIN Messaging
• Send PIN messages direct to other BlackBerry Smartphones
• Extend the BlackBerry Messenger Client for peer-to-peer applications
• SMS and MMS
• Wireless Messaging API 1.0 (JSR 120) allows applications to send and receive SMS
messages
• Wireless Messaging API 2.0 (JSR 205) allows applications to send and receive MMS
messages

2008 JavaOneSM Conference | java.sun.com/javaone | 15


APIs and Capabilities
Integration with Built-in Applications
• Application Menu Item
• Ability to add menu items to existing BlackBerry applications (messaging, calendar,
etc)
• Invoke
• Invocation of BlackBerry applications including:
• Browser
• Messages
• Calendar
• BlackBerry Maps
• Camera
• Search
• Content Handler API (JSR 211)
• Supported in 4.3.0
• Key mechanism for integration in the future

2008 JavaOneSM Conference | java.sun.com/javaone | 16


BlackBerry JDE Plugin for Eclipse
Eclipse is an open source development
environment
www.eclipse.org
BlackBerry JDE Plugin provides key BlackBerry
features in familiar Eclipse environment
Requirements
• Eclipse Classic 3.3.1
• Microsoft Vista or Windows XP
• Java SE Development Kit (JDK) v5 or v6

2008 JavaOneSM Conference | java.sun.com/javaone | 17


BlackBerry JDE Plugin for Eclipse
Java Debug Wire Protocol
(JDWP) software used for
debugging support of
devices and simulators

Objects and Profiling


Window

Localization Support
• Editor for BlackBerry resource
bundles

BETA AVAILABLE TODAY!!!

2008 JavaOneSM Conference | java.sun.com/javaone | 18


BlackBerry JDE Plugin for Eclipse
Supports building against multiple JDEs
• Leverage the JDE component package to add appropriate JDE version
support
• v4.3.0 shipped with installer by default

Simulator Integration
• Complete integration of simulator with Eclipse including simulator output
to console window

Documentation
• JavadocTM tool and JDE Help

Sample Applications
• Server and Client samples are provided with the JDE installation
• Each sample focuses on how to leverage a specific API
• Additional documentation provided to help understand the samples

2008 JavaOneSM Conference | java.sun.com/javaone | 19


BlackBerry Simulators
Smartphone Simulator
• Network Connectivity
• Battery Levels
• microSD Card
• GPS Location
• Camera Image
• USB Cable Connected
• Incoming Voice Calls

2008 JavaOneSM Conference | java.sun.com/javaone | 20


BlackBerry Simulators
BlackBerry Email and MDS Services Simulator Package
• Simulates HTTP and socket connections for
BlackBerry smartphone simulators
• Allows simulation of push functionality to BlackBerry
Smartphone simulators

BlackBerry Email Server Simulator


• Simulate email functionality with the BlackBerry
smartphone simulator
• Stand-alone or POP3 integration

2008 JavaOneSM Conference | java.sun.com/javaone | 21


BlackBerry Code Signing
Sensitive APIs are protected by BlackBerry code signing

Controlled APIs are split into four areas:


• Runtime APIs
• BlackBerry Application APIs
• Cryptography APIs
• Certicom APIs

Developers leverage the SignatureTool to sign their


applications using unique identity

2008 JavaOneSM Conference | java.sun.com/javaone | 22


BlackBerry Code Signing

How to register for keys?


• Fill out a registration form at:
• RIM: https://www.blackberry.com/SignedKeys/
• Certicom: http://www.certicom.com/rim
• Administration fee is required to process keys
• Code signing keys are distributed by email

Developers only required to register once – Keys do not expire


and can be re-used for all application signing

2008 JavaOneSM Conference | java.sun.com/javaone | 23


BlackBerry JDE Component Pack

RAPC
• Compiler
JavaLoader
• Application installer
Signature Tool
• Code signer
Preverify
• Verify class information
Java Debug Wire Protocol (JDWP)
• Debugging support

2008 JavaOneSM Conference | java.sun.com/javaone | 24


IDE Integration

Why?
• Allow choice of development environments
What IDE’s?
• Eclipse
• NetBeansTM software
How?
• BlackBerry JDE Component Pack
• NetBeans software
• http://www.netbeans.org/kb/50/blackberry.html
When?
• Component Pack was introduced with BlackBerry JDE v4.1

2008 JavaOneSM Conference | java.sun.com/javaone | 25


BlackBerry Development Resources

BlackBerry Developer Zone

www.BlackBerry.com/developers

• BlackBerry Developer Tools


• BlackBerry Smartphone & MDS Simulators
• Developer Documentation & Sample Code
• Knowledge Base & Discussion Forum
• Developer Newsletter

2008 JavaOneSM Conference | java.sun.com/javaone | 26


Distributing your applications
The BlackBerry Advantage
An Open Platform
• You build, distribute and sell the applications that you want
• You don’t need our permission to build or sell via any channel.

Virtual Preload
• Applications ‘virtually’ preloaded onto devices – a service based solution
• Massive distribution opportunity

300+ Carrier Relationships, Global Reach


• We can drive your applications into carrier distribution channels worldwide.
• Get help getting into their content decks, understanding billing systems

Mobile.BlackBerry.com, Handango, Handmark


• More than 6 Million visitors
• A direct relationship with our subscribers
• Objective ‘help and experience’ – showcase your app!
• Work with us to get you integrated with our distribution partners.

And much more!

2008 JavaOneSM Conference | java.sun.com/javaone | 27


James Schauer
Product Manager, Applications & Content

Michael Clewley
Technical Product Manager, BlackBerry Platform
TS-7731

2008 JavaOneSM Conference | java.sun.com/javaone | 28

You might also like