SlideShare a Scribd company logo
Development EnvironmentPredhin Tom Sapru
IntroductionApplication Manager
Event listeners
Threads
Network Communication
Memory Management
Data ManagementDifferent Approaches…Blackberry BrowserEase of development and deployementReduced FlexibilityJava ApplicationUltimate Flexibility
Longer development and deployementThe BlackBerry® Java Development Environment (JDE) provides a complete set of APIs and tools for you to develop Java applications that run on BlackBerry Wireless Handhelds.
include a J2ME runtime environment that is based on the CLDC 1.1 and MIDP 2.0 specifications. MIDP Java ApplicationCustom BB AppMIDPBlackberry APICLDCJVM
Application ManagerVM loads an application manager, which manages all Java applications on the handheld. The application manager functions as the central dispatcher of operating system events for other Java applications.
Applications that provide a user interface extend the net.rim.device.api.ui.UiApplicationclass. This class provides methods for applications to register event listeners, manage threads, and manage UI components.
When the application manager receives an event, it copies the event to the appropriate queues, which enables the application manager to direct messages to certain programs. For example, only the foreground application receives user input messages.
Define Screen to be pushed
Extending MainScreen class/ScreenEvent ListenerEvent listener interfaces are divided by event type. Each application registers toreceivespecific types of events.
The application.s event queue then dispatches events to the appropriate listeners.
Applications can implement the appropriate listener interfaces or override the listener methods on the various Screen objects. Most applications implement the KeyListener and TrackwheelListener interfaces and register the listeners to receive keyboard and trackwheelevents.ThreadsAn application can access the UI only on the event thread, or with the event lock held.Onlyone thread at a time (usually the event-dispatching thread) can gain access to an interface component.
Background threads can access the UI from outside the main event-handling or UI drawing code in two ways:acquire and hold the event lockuse invokeLater() or invokeAndWait() to run on the event dispatch threadThe BlackBerry Java environment provides a true multithreading environment for running applications. This enables multiple applications to run simultaneously, events to broadcast to multiple applications, and long operations or listener threads to run in the background.Network CommunicationThe BlackBerry JDE provides the following connection types: stream connections (StreamConnection interface), including:HTTP connections (HttpConnection interface)HTTPS connections (HttpsConnection interface)socket connections (SocketConnection interface)secure socket connections (SecureConnection interface)serial connections to a communication port on the handheld (CommConnection interface)datagram connections (DatagramConnection interface), including:UDP datagram connections (UDPDatagramConnection interface)Data ManagementThe BlackBerry Persistent Store APIs and the MIDP RMS APIs (support for JSR 37 and JSR 118) are available on all Java® based BlackBerry devices.

More Related Content

PPTX
Introduction To J2ME(FT - Prasanjit Dey)
Fafadia Tech
 
PPT
Introduction to j2me
Fae Kaal
 
PPT
Mobile Application Development MAD J2ME
Pallepati Vasavi
 
PDF
Java2 MicroEdition-J2ME
Rohan Chandane
 
PPT
Mobile Application Development MAD J2ME UNIT 2
Pallepati Vasavi
 
PDF
08 Midlet Basic
corneliuskoo
 
PPTX
J2 ee architecture
Krishna Mer
 
PPT
01 Symbianosbasics Introducao
Tiago Romão
 
Introduction To J2ME(FT - Prasanjit Dey)
Fafadia Tech
 
Introduction to j2me
Fae Kaal
 
Mobile Application Development MAD J2ME
Pallepati Vasavi
 
Java2 MicroEdition-J2ME
Rohan Chandane
 
Mobile Application Development MAD J2ME UNIT 2
Pallepati Vasavi
 
08 Midlet Basic
corneliuskoo
 
J2 ee architecture
Krishna Mer
 
01 Symbianosbasics Introducao
Tiago Romão
 

What's hot (17)

PPT
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
Pallepati Vasavi
 
PPT
MyMobileWeb Certification Part II
crdlc
 
PPT
J2 ee architecture
saurabhshertukde
 
PPT
Spring and DWR
wiradikusuma
 
PDF
Java Introduction
Middleware Training
 
PDF
A dynamic application using jboss
ijcax
 
PPT
J2 Me Gaming Using Netbeans
strongdevil
 
PDF
Java me introduction
NokiaAppForumBulgaria
 
PPTX
Chapter 11:Understanding Client-Side Technologies
It Academy
 
PDF
Ajava final(sachin sir9822506209)_vision_academy_21
SachinZurange
 
PDF
Terence Barr - what's new in m&e - 24mai2011
Agora Group
 
PDF
Sarada Ojha CV
Sarada Ojha
 
PDF
Software development with qt
NokiaAppForumBulgaria
 
PDF
dan_labrecque_web_resume
Dan Labrecque
 
PDF
Basics of web runtime
NokiaAppForumBulgaria
 
PDF
Mobile user experience intro
NokiaAppForumBulgaria
 
DOCX
Jboss
Sridhar Rapala
 
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
Pallepati Vasavi
 
MyMobileWeb Certification Part II
crdlc
 
J2 ee architecture
saurabhshertukde
 
Spring and DWR
wiradikusuma
 
Java Introduction
Middleware Training
 
A dynamic application using jboss
ijcax
 
J2 Me Gaming Using Netbeans
strongdevil
 
Java me introduction
NokiaAppForumBulgaria
 
Chapter 11:Understanding Client-Side Technologies
It Academy
 
Ajava final(sachin sir9822506209)_vision_academy_21
SachinZurange
 
Terence Barr - what's new in m&e - 24mai2011
Agora Group
 
Sarada Ojha CV
Sarada Ojha
 
Software development with qt
NokiaAppForumBulgaria
 
dan_labrecque_web_resume
Dan Labrecque
 
Basics of web runtime
NokiaAppForumBulgaria
 
Mobile user experience intro
NokiaAppForumBulgaria
 
Ad

Similar to Blackberry Development Environment (20)

PPTX
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
PPTX
Introduction to mobile programing (J2ME)
Wambua Wambua
 
PDF
010118565.pdf
EidTahir
 
PPT
Mobile Java
Nikita Makarov
 
PPT
A Taste of Java ME
wiradikusuma
 
PPTX
J2ME
Kushal Modi
 
PPTX
Mobile operating system..
Aashish Uppal
 
PPT
MOBILE APPs DEVELOPMENT PLATFORMS
Senthil Kanth
 
DOCX
Remote Web Desk
Satish Chandra
 
PPTX
J2ME mobile app development
Muthu Kumar
 
PPT
Introduction to Mobile Application Development
Senthil Kanth
 
PPT
Android Seminar
Ganesh Waghmare
 
PPT
Java ME CLDC MIDP
SMIJava
 
PPT
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
 
PPT
SunMicroSystems
Khasim Cise
 
RTF
Synopsis on online shopping by sudeep singh
Sudeep Singh
 
PPT
J2ME
anupama12369
 
PDF
J2me step by step
Yogesh Bindwal
 
PPT
J2 me 1
myrajendra
 
PPT
Android Anatomy
Bhavya Siddappa
 
Introduction to Mobile programming(J2ME)
Wambua Wambua
 
Introduction to mobile programing (J2ME)
Wambua Wambua
 
010118565.pdf
EidTahir
 
Mobile Java
Nikita Makarov
 
A Taste of Java ME
wiradikusuma
 
Mobile operating system..
Aashish Uppal
 
MOBILE APPs DEVELOPMENT PLATFORMS
Senthil Kanth
 
Remote Web Desk
Satish Chandra
 
J2ME mobile app development
Muthu Kumar
 
Introduction to Mobile Application Development
Senthil Kanth
 
Android Seminar
Ganesh Waghmare
 
Java ME CLDC MIDP
SMIJava
 
SynapseIndia mobile build apps management
Synapseindiappsdevelopment
 
SunMicroSystems
Khasim Cise
 
Synopsis on online shopping by sudeep singh
Sudeep Singh
 
J2me step by step
Yogesh Bindwal
 
J2 me 1
myrajendra
 
Android Anatomy
Bhavya Siddappa
 
Ad

Recently uploaded (20)

PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Software Development Methodologies in 2025
KodekX
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 

Blackberry Development Environment

  • 7. Data ManagementDifferent Approaches…Blackberry BrowserEase of development and deployementReduced FlexibilityJava ApplicationUltimate Flexibility
  • 8. Longer development and deployementThe BlackBerry® Java Development Environment (JDE) provides a complete set of APIs and tools for you to develop Java applications that run on BlackBerry Wireless Handhelds.
  • 9. include a J2ME runtime environment that is based on the CLDC 1.1 and MIDP 2.0 specifications. MIDP Java ApplicationCustom BB AppMIDPBlackberry APICLDCJVM
  • 10. Application ManagerVM loads an application manager, which manages all Java applications on the handheld. The application manager functions as the central dispatcher of operating system events for other Java applications.
  • 11. Applications that provide a user interface extend the net.rim.device.api.ui.UiApplicationclass. This class provides methods for applications to register event listeners, manage threads, and manage UI components.
  • 12. When the application manager receives an event, it copies the event to the appropriate queues, which enables the application manager to direct messages to certain programs. For example, only the foreground application receives user input messages.
  • 13. Define Screen to be pushed
  • 14. Extending MainScreen class/ScreenEvent ListenerEvent listener interfaces are divided by event type. Each application registers toreceivespecific types of events.
  • 15. The application.s event queue then dispatches events to the appropriate listeners.
  • 16. Applications can implement the appropriate listener interfaces or override the listener methods on the various Screen objects. Most applications implement the KeyListener and TrackwheelListener interfaces and register the listeners to receive keyboard and trackwheelevents.ThreadsAn application can access the UI only on the event thread, or with the event lock held.Onlyone thread at a time (usually the event-dispatching thread) can gain access to an interface component.
  • 17. Background threads can access the UI from outside the main event-handling or UI drawing code in two ways:acquire and hold the event lockuse invokeLater() or invokeAndWait() to run on the event dispatch threadThe BlackBerry Java environment provides a true multithreading environment for running applications. This enables multiple applications to run simultaneously, events to broadcast to multiple applications, and long operations or listener threads to run in the background.Network CommunicationThe BlackBerry JDE provides the following connection types: stream connections (StreamConnection interface), including:HTTP connections (HttpConnection interface)HTTPS connections (HttpsConnection interface)socket connections (SocketConnection interface)secure socket connections (SecureConnection interface)serial connections to a communication port on the handheld (CommConnection interface)datagram connections (DatagramConnection interface), including:UDP datagram connections (UDPDatagramConnection interface)Data ManagementThe BlackBerry Persistent Store APIs and the MIDP RMS APIs (support for JSR 37 and JSR 118) are available on all Java® based BlackBerry devices.
  • 18. The BlackBerry® Persistent Store APIs are designed to provide a flexible and robust data storage interface. With the BlackBerry Persistent Store APIs, you can save entire Java® objects to memory without having to serialize the data first. When you start the application, you can retrieve the Java object from memory and process the information
  • 19. However the limit for an individual object within the store is 64 KB.
  • 20. The RMS APIs provide a simple record management system that allows you to create a data store object and persist a series of records within that object. Each record is a byte array, so you must first serialize your data into a byte array format before storing it locally.Memory ManagementThe BlackBerry® Java® Virtual Machine manages memory usage on the BlackBerry device. The BlackBerry JVM allocates memory, performs garbage collection, and automatically swaps data between SRAM and flash memory.
  • 21. The BlackBerry JVM must also share available memory between the BlackBerry device applications and the BlackBerry® Java Application.
  • 22. The memory capabilities represent the total amount of available memory, which is larger than the available working memory when all of the applications and associated application data exist on the BlackBerry device.
  • 23. Types: Flash, SRAM, microSDexpandible memory cardBlackberry Infrastructure
  • 24. Advantages of BlackBerry DevelopmentBlackBerry provides various advantages to create a robust and world class applications:- Can use two software platforms to develop applications: Java Platform, Micro Edition (J2ME) and MDS.
  • 25. J2ME enables most feature-rich and functionality based solutions
  • 26. Java application development gives ultimate flexibility, power and control.Basic UI Architecture3 Main Classes:
  • 27. Field
  • 29. ScreenMain ManagerThe BlackBerry UI framework uses Manager objects to contain fields. Various Manager subclasses, such as VerticalFieldManager, manage specific kinds of field layouts.
  • 30. MainScreen typically uses a top-level VerticalFieldManagerto manage and lay out other fields, including other field managers.Basic UI ArchitectureFieldsUI components
  • 31. The field sizes itself according to its layout requirements.ScreenEach UI application maintains a stack of Screen objects.
  • 32. Each Screen object has adelegate manager, the single Manager object directly controlled by the Screen to manage layout and scrolling for the entire screen.
  • 33. Blackberry Java EnvironmentAs in any standard Java environment, source files for BlackBerry applications are compiled into Java bytecode by a Java compiler. This bytecode is loaded onto the handheld and run by the Java virtual machine (VM), which translates the Javabytecodeinto instructions that the processor can understand.
  • 34. Main 2 diff b/w Std. Java environment and BB Environment:
  • 35. The BlackBerry Java environment uses smaller, more efficient bytecode that is designed for transmission over low-bandwidth networks and storage on small handhelds. Source files are compiled into handheld code files
  • 36. The BlackBerry Java environment uses an optimized virtual machine instead of the standard KVM provided as part of the CLDC specification. For this reason, you must use the IDE to convert MIDlet applications (.jar and .jad files) to run on the BlackBerry handheld.Blackberry Java EnvironmentRestrictions :The BlackBerry Wireless Handheld VM has the following restrictions, as specified by CLDC 1.1:no object finalizationno java.lang.Error class hierarchyno user class loadingno reflection, therefore no support for Remote Method Invocation (RMI) or Jini. network technologyno native methodsno Runtime.exec() for running external processes