4. BlackBerry Java / Java ME
The BlackBerry smartphone is a pure Java device with
all built-in applications and APIs written in Java
BlackBerry supports:
• MIDP Standard APIs (MIDP v2.1 supported)
for cross platform development
• CLDC Standard APIs (CLDC v1.1 supported)
for connectivity
• BlackBerry specific Java APIs
5. Java APIs for the BlackBerry solution enables you to
develop rich custom client applications that provide
• Compelling customizable user interface
• Local data storage on the device
• Event listening and system interfaces
• Secure wireless transport via HTTP
Advanced Java API capabilities include
• Integration with BlackBerry Email, PIM and Phone applications
• Networking and Secure Push Services
• Communication with Bluetooth®-enabled peripherals
• Rich multimedia features
• Location-based services and BlackBerry® Maps
• Touch Events and Accelerometer Support
BlackBerry Java / Java ME
6. Evolution of BlackBerry Smartphone Software
4.2
4.0 4.0.23.73.63.3 4.1 4.3 4.5 4.74.6.14.6 4.7.1 5.04.2.14.2
5810
5820
6200 Series
6500 Series
6700 Series
7200 Series
7700 Series
7100
7290
7510
7520
8700
7130
7100i
Pearl 8800 Series
8110
8120
8130
Storm Tour
8900
8350i
8520
Bold
Pearl Flip
Initial
Release
MIDP 1.0
CLDC 1.0
PIM APIs
Mail APIs
MIDP 2.0
CLDE 1.1
Invoke APIs
Color
Smartphone
Support
Smart Card
APIs
JSR 179
(LBS)
Mulltimedia
Focus
JSR 75
(File API)
JSR 82
(Bluetooth)
Application
Permissions
JSR-172 (Web
services)
JSR-205 (MMS)
JSR-211 (CHAPI)
JSR-238
(Internationaliztn)
Map Field
Spell Check API
HTML Email
JSR-226 (SVG)
Décor APIs
Multi-PIM
Support
SMS & MMS
Listeners
Touch Screen
- Input
- Keyboard
Orientation APIs
Accelerometer
Invoke
- Video Recorder
Improved UI
Customization
Networking API
Hotspot API
Push API
JSR 234
(AMMS)
Media Key
Events
Reverse
Geo-coding
Biometric API
User Auth API
Attachment API
7. APIs and Capabilities: Compelling UI
New in 5.0
• UI Pickers (Date & Time, Spinner, File, Location)
• User Interaction APIs (Transitions, Kinetic Scrolling, Picture Zoom,
Toolbar, Eyelid Field, Picture Scroll Field)
• New Layout Managers and UI Customization APIs
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
New in 5.0
• Networking APIs
• Hotspot APIs
9. APIs and Capabilities: Secure Push Services
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!
New in 5.0
• BlackBerry Push APIs for device push listeners
10. APIs and Capabilities: Multimedia
Features
• Leverage the Media Player on the BlackBerry
smartphone for playback of multimedia content
• Embed audio into applications using the Mobile
Multi-Media API (JSR 135)
• 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
New in 5.0
• Embedded video capturing and streaming
• Embed video and access increased camera
control (zoom, focus) with JSR 234
• Capture Media Key Events *
* On select BlackBerry smartphones
11. APIs and Capabilities: Location Based
Services
Features
• 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
• Cell Tower LBS
New in 5.0
• JSR-179 extensions
• Reverse Geo-coding
12. APIs and Capabilities: BlackBerry Maps
Features
• 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
13. APIs and Capabilities: Security and
Cryptography
Features
• Crypto API
• Encrypt and decrypt data
• Digitally sign and verify data
• Authenticate data
• Certificates (X.509)
• SSL/TLS
• KeyStore
New in 5.0
– Biometric APIs
– User Authentication APIs
14. APIs and Capabilities: Messaging
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
New in 5.0
• Attachment API, Multiple ContactList Support
15. New in 5.0
• BrowserField2 allows developers to quickly and easily
• Embed web content from various sources within a Java
Application.
• Provide easy page navigation with respect to the BrowserField’s
history (i.e. back, forward, stop, refresh)
• Access the DOM of loaded web content
• Configure how a page will be displayed and behave
• Monitor the state of a loading document
• Execute JavaScript in the context of the loaded web content from
JavaHandler HTTP connections, SSL, cookies and caching.
• Extend JavaScript with functionality written in Java allowing
JavaScript to effectively invoke Java code
APIs and Capabilities: BrowserField2
16. 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
• App World Integration APIs
17. Agenda
BlackBerry Java Development
• Background
• APIs and Capabilities
BlackBerry Developer Tools
• BlackBerry JDE Plugin for Eclipse
• BlackBerry JDE
• BlackBerry Simulators
• Other IDEs (e.g. NetBeans)
• BlackBerry Code Signing
Resources
19. BlackBerry JDE Plugin for Eclipse
Eclipse
• An open source development
environment www.eclipse.org
BlackBerry JDE Plug-in
• Provides key BlackBerry features in
familiar Eclipse environment
• Requirements
• Eclipse Classic 3.3.1
• Microsoft Vista or Windows XP
• Java SE JDK v5 or v6
20. BlackBerry JDE Plugin for Eclipse
Features
• Supports building against multiple JDEs
(v4.5.0 shipped with installer by default)
• Localization
• Resource Editor and Source Control Integration
• Java Debug Wire Protocol (JDWP) used for fully integrated
debugging support of devices and simulators
• Objects and Profiling Window Support
• Memory Statistics and Source Code Profiler
• Javadocs and JDE Help
• Sample Applications focusing on how to leverage specific APIs
21. BlackBerry JDE
BlackBerry JDE
• A fully integrated development environment and simulation for
building BlackBerry applications
• The primary mobile development platform within RIM
• Requirements:
• Java SE JDK v5
• Windows Vista or
• Windows XP
An Integrated Development
Environment
23. BlackBerry Simulators
BlackBerry® Mobile Data System
Connection Service Simulator
• 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
24. Leverage Other IDEs
The BlackBerry JDE Component Pack is:
• A simple and small installer which includes the key pieces
necessary for integration with other development environments
• Allows integration with alternative development environments
including debugging support, compilation, code signing and
deployment support.
NetBeans
http://www.netbeans.org/kb/50/blackberry.html
25. BlackBerry Code Signing
What are BlackBerry Code Signing Keys
• 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
26. BlackBerry Code Signing
How to register for keys?
• Fill out a registration form at:
https://www.blackberry.com/SignedKeys/
• 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
28. BlackBerry Developer Community
Fast Facts
• 190,000+ Registered Developers
• Hundreds of Knowledge Base
Articles, Videos and Beginner Level
Tutorials
• Bi-Weekly Webinar Series
• BlackBerry Developer Newsletter
• Recently Launched Developer Blog
• More than 70,000 Development-
Related Forum Posts
• Developer Issue Tracker
www.blackberry.com/developers