

Bantry Technologies proposes a 3-day technical training on J2ME technology.
This fast-paced, programming intensive course provides complete coverage
of the Mobile Information Device Profile (MIDP). Through comprehensive
examples and hands-on projects, participants learn all facets of writing
MIDP applications (MIDlets). Topics include development tools, event handling,
both high-level and low-le vel user interface components, timers/tasks,
persistent storage and networking
The training consists of an interactive class using slide presentations
for theoretical sessions and exercises for practical work sessions.

A solid understanding of the Java programming language is required. Experience
writing, debugging and deploying software, in any language, is highly recommended.
In order to fully benefit from this training, the attendees must have
a good understanding of both the Java™ programming language. For
each part described below, a practical session will be proposed to the
student.

Part 1: Introduction to J2ME™ and MIDP
- Java Editions
- Why J2ME™?
- Configurations
- Profiles
- Java Virtual Machine
- Class File Verification
- J2SE™ Inherited Classes
- CLDC Specific Classes
Part 2: Mobile Information Device Profile
- Hardware and Software Requirements
- Architecture
- MIDlet Suite
- Runtime Environment and Application Management
- Creating Java Archive (JAR)
- Creating Java Application Descriptor(JAD)
- Accessing JAR and JAD Attributes within a MIDlet
- MIDP security
- Platform extensions and standards
Part 3: Development Tools
- Software Installation and Configuration
- Command Line Development
- Packaging a MIDlet
- Project Management with Java Packages
- Wireless Toolkit
- Advanced third party IDEs (Netbeans)
Part 4: MIDlets and the Display
- The Basics of MIDlets
- MIDlet Lifecyle
- MIDlet API
- Communication Between Application Manager and MIDlet
- Querying Attributes in JAD and Manifest (JAR)
- Exceptions
- Display and Displayable
Part 5: Event Handling
- Basics of Event Management
- Commands Object Overview
- Item Object Overview
- Command and Command Listener
- Creating a Command and Attaching a Listener
- Understanding Types and Priorities
- Item and ItemStateListener
- Creating an Item and Attaching a Listener
- Understanding How/When Events are Acknowledged
Part 6: High-Level User Interface - Part I
- Screen and Form
- DateField
- Gauge
- StringItem
- TextField
- ChoiceGroup and Choice
- Image and ImageItem
Part 7: High-Level User Interface - Part II
- Contrast Form with List, TextBox and Alert List
- TextBox
- Alert and AlertType
- Attaching a Ticker to a Screen Subclass
- Sharing a Ticker among Components
- Introduction to custom high-level UI elements
Part 8: Low-Level User Interface - Part I
- Canvass Class Overview
- Creating a Canvas
- Coordinate System
- Drawing on the Canvas
- Communicating with the Application Manager
- Event Handling
- Commands
- Key Codes
- Games Actions
- Pointers
Part 9: Low-Level User Interface - Part II
- Graphics Class Overview
- Obtaining a Graphics Object
- Color Support
- Graphics object main methods
- Images
- Translating Coordinates
- Clipping Regions Introduction to the Game API
Part 10: Record Management System
- Overview of Record Management System (RMS)
- Record Store Basics
- Read and Write Text Records
- Read and Write with Streams
- RecordEnumeration - Moving through Records
- RecordComparator - Sort Records for Enumeration
- Integrating Display Manager
- Animating Images
- RecordFilter - Filter (Search) Records for Enumeration
- Simple Search
- Search Compounds Records
- RecordListener - Detect Record Store Changes
Part 11: Networking - Generic Connection Framework
- Overview of Generic Connection Framework (GCF)
- Connection Hierarchy
- HttpConnection
- Client Request / Server Response
- Obtaining Connection Information
- GET/POST to Java Servlet
- Session Management with Java Servlets
- Downloading Data in the Background, multithreading
- TLS and HTTPS support
- Push Registry
- Client and server sockets and datagrams
- Networking extension and telephony access : platformRequest
Part 12: Optimizing MIDP applications
- Size and performance optimizations
Part 13: JTWI Extensions
- JTWI overview and availability
- Mobile Media API : playing multimedia contents
- Wireless Messaging API 1.0 : short messages handling
- PDA Optional Packages API : PIM and storage access
Part 14: MSA Extensions - SATSA
- MSA overview and availability
- Content Handler API
- J2ME Web Services API : usage and alternative solutions
- Security and Trust Services API : overview
- Smartcard communication methods in SATSA
- Smartcard access conditions
- SATSA development environments
- Third party SATSA communication APIs
- Migrating a Sim Toolkit application to a SATSA service