acceptAndOpen method
OBEX, 282
ServerSocketConnection, 260
SipConnectionNotifier, 322
StreamConnectionNotifier, 279
ACK method type, 320
ActionNameMap class, 63
Actions
games, 125
handlers, 56
names, 63
activate method, 174
Adaptive Multirate Narrowband (AMR-NB), 328
addAddress method, 267
addBoolean method, 216
addCategory method
LandmarkStore, 372
PIMList, 219
addCommand method, 95
addCredential method, 357
addDate method, 216
addFileSystemListener method, 209
addInt method, 216
addLandmark method, 372
addPlayerListener method, 332
addRecord method, 198
addRecordStoreListener method, 198
AddressInfo class, 372
addString method, 216
addTelephone method, 216
addToCategory method, 219
Advanced Audio Coding (AAC) standard, 331
Advanced Multimedia Supplements (AMMS) specification, 8, 327
3D audio, 345–347
audio special effects, 347
camera control, 347–348
image format, 344–345
image processing, 342–344
music, 345
radio, 348–349
AlarmRunnable class, 55–56
Alert class, 70
Alerts, 73–75
AlertType class, 73
Alpha compositing, 102
Alphabetizing strings, 239
Anchors
images, 116
animate method, 180
Animated documents, 163–166
AnimationGauge class, 132–135
Ant tool, 16
ANY constant, 71
APDUConnection class, 355
APIs
core, 27–28
MSA, 7–9
Appearance class, 186
Form, 87
LayerManager, 153
List, 82
appendChild method, 171
appendln method
FileExerciserMIDlet, 211
HTTPSInformationMIDlet, 256
SeraphimMIDlet, 232
SerialBoxMIDlet, 260
Application identifiers, 267
Application management software (AMS), 37–39
Application Protocol Data Units (APDUs), 353
Applications and application architecture, 375
desktop, 376–377
Internet, 376
Java ME, 375
multiple devices, 377
properties, 40–41
stretchy screens, 377–378
working, 377–379
Appointments. See Contacts and calendars
Arrays
3D objects, 180
boolean, 83
images, 82
populating, 30–32
records, 198
string, 63
string fields, 218–219
Assembling game scenes, 153–154
Attributes for PIM, 216
Audio. See Sound and video
audio3d capability in AMMS, 341
authenticate method, 356
AUTHMODE_ constants, 197
Authorization in Bluetooth, 280
Automatic MIDlet starting, 47
content handlers. See Content handlers
network connections, 47–54
running at specific times, 54–56
available method, 30
availableSize method, 208
BabbleMIDlet class, 239–244
BACK constant, 77
BaldassareMIDlet class, 250–252
BangCanvas class, 147–149
Base names in resource files, 235
BASELINE constant, 109
Baselines for text, 109
BillHandler class, 306–307
BillMIDlet class, 304–306
Binary messages, 265–266
BinaryMessage class, 265–266
bind method, 169
binding
Graphics3D objects, 180
ScalableGraphics objects, 169
bindTarget method, 169
Blender M3G Exporter tool, 179
BlueChew application, 283–293
BlueChewFinder class, 287–291
BlueChewMIDlet class, 284–287
BlueChewServer class, 291–293
BlueChewService class, 293
Bluetooth API, 275–276
application, 283–293
client connections, 278–279
device discovery, 276–278
devices, 276
hardware, 7
permissions, 282
push registry, 282
security, 280
server setup, 279
service discovery, 278
BluetoothStateException class, 276
BOTTOM constant, 109
BoxCanvas class, 103–104
BoxMIDlet class, 104–105
Browsers with MIDlets, 40
btl2cap connections, 279
BubblesMIDlet class, 171–174
Buffering for flickering, 102
buildForm method
BabbleMIDlet, 241–242
SerialBoxMIDlet, 259
Burst shooting, 348
BYE method type, 320
Bytecode verifiers, 28
Cache class, 200–202
CacheMIDlet class, 202–203
Calendar class, 32
Calendars. See Contacts and calendars
Callback methods, 21
Calls in MIDlets, 40
camera capability in AMMS, 341
Camera control, 347–348
CameraControl class, 348
CANCEL constant, 77
CANCEL method type, 320
canRead method, 207
Canvas and Canvas class, 101–102
games, 143–148
settings, 101–102
SVG, 168–170
video, 334–335
canWrite method, 207
Capabilities in AMMS, 328–329, 341
Capturing video, 338
CarCanvas class, 116–118
Carriers, 5
Categories
contacts, 219
landmarks, 372
Cell Broadcast Service (CBS), 7
Certificate Authorities (CAs), 356
Certificate Signing Request (CSR), 357
Certificates, 357
Change events, 95–97
characters method, 297–298
charsWidth method, 111
charWidth method, 111
CheapHandler class, 297–298
checkPermission method, 43
ChoiceGroup class
color swatches for, 93
events with, 95
traversal, 136
Cipher class, 359
CityGuide sample application, 373
Classloaders, 28
cleanCalendar method, 224, 230–231
cleanContacts method, 224, 231
Cleaning up
connections, 249
streams, 30–31
clearField method, 217
clearGauge method
BaldassareMIDlet, 252
FlickrMIDlet, 312
HTTPSInformationMIDlet, 256
clearImage method, 313
Client connections for Bluetooth, 278–279
ClientSession class, 281
Clipping, 124
clipRect method, 124
close method
Connection, 249
PIM, 221
Player, 332
CLOSED constant, 330
CMSMessageSignatureService class, 356–358
Code Division Multiple Access (CDMA) networks, 331
Code signing, 44
Collections, 32
collidesWith method, 153
Collisions of sprites, 153
Color
making, 102–105
manipulating, 121–124
COLOR_ constants, 103
Color swatches, 93
Command line, 16–17
commandAction method, 54
CommandListener interface, 24, 78, 83
Commands, 23–24
form items, 95–97
overview, 76–79
CommConnection interface, 257–258
commit method
ContactList, 219
for contacts, 221
PIMItem, 216
Communication with smart cards, 355–356
compare method, 239
complete method, 343
Conditionally mandatory APIs, 7
connect method
ClientSession, 281
ServerRequestHandler, 282
Connected Device Configuration (CDC) devices, 9, 56, 161
Connected, Limited Device Configuration (CLDC) devices, 4, 9, 28, 161
Connection strings
Bluetooth client connections, 278
GCF, 247
multipart messages, 267
OBEX, 282
push registries, 48
Connections and Connection class, 247
Bluetooth, 278–279
cleaning up, 249
HTTPS, 254–257
image loading, 250–252
making, 247–249
network, 47–54
permissions, 261
threads, 250
tips, 253–254
types, 257–260
Consistency, 379
Contact class, 216
CONTACT_LIST constant, 220
ContactList class, 217–220
Contacts and calendars, 215
categories, 219
example, 223–232
field labels, 219
importing and exporting, 221–222
lists, 219–220
methods for, 220
permissions, 222–223
PIMItem, 215–216
queries, 217–218
string array fields, 218–219
support for, 222
contains method, 291
Content
3D, 180–183
SVG, 160–163
Content area for custom items, 131
Content Handler API (CHAPI), 9, 56–57
Content handlers, 56–57
invoking, 57–59
static registration, 65–66
testing, 64–65
writing, 59–64
Content IDs, 267
Content types
multipart messages, 267
sound and video, 331
ContentHandlerServer class, 63–64
Continuous noninteractive gauges, 90
CONTINUOUS_RUNNING constant, 90
Controls
camera, 347–348
sound and video, 332–333
Cookies, 253
Coordinate systems
screen, 105–106
viewports, 175
Core APIs, 27–28
Country locale codes, 234
countValues method, 217
create method, 206–207
createAnimatedTile method, 150
createAnimator method, 161
createContact method, 219
createDirectory method, 212
createElementNS method, 171
CreateEmptyImageDemo class, 171
createEvent method, 220
createFile method
FileConnection, 207
FileExerciserMIDlet, 212
createImage method
ScalableImage, 160–161
createIndices method, 187
createInstance method, 168
createLandmarkStore method, 372
createMutable method, 120
createPlayer method
Manager, 335–336
Player, 330
createRGBImage method, 122
createSoundSource3D method, 346
createToDo method, 220
createUI method, 285
createVertexBuffer method, 188
createVertexColors method
CubeMeshGenerator, 187–188
SphereMeshGenerator, 191
createVertices method, 187
createWorld method, 191
cref program, 354–355
Criteria class, 370
Cryptographic Message Syntax, 356
Cryptography, 357
Bluetooth, 280
ciphers, 359
message digests, 357–358
signatures, 358
CubeMeshGenerator class, 186–188
Currency representation, 238
Current layout directive, 92
Custom items and CustomItem class, 131
events, 135–136
fonts, 137–141
internal traversal, 136–137
painting, 132
sizing, 131–132
wait indicator, 132–135
Custom screens, 101
clipping, 124
command placement, 127–128
creating images, 114–116
display information, 101–102
drawing images, 116–118
drawing on images, 119–120
drawing text, 109–111
event handling, 124–127
lines and shapes, 105–109
measuring text, 111–114
painting, 102
resources for, 118
Databases
landmarks, 372
record stores. See Record stores
DatagramConnection interface, 257–258
Date class, 32
DATE_ constants, 238
Dates
displaying, 32
formatting, 237–239
DATETIME_ constants, 238
DECIMAL constant, 71
Decompiling, 17
DefaultHandler class, 297
defineCollisionRectangle method, 153
defineReferencePixel method, 152
delete method
ClientSession, 281
FileConnection, 207
List, 82
deleteAll method, 82
deleteCategory method
LandmarkStore, 372
PIMItem, 219
deleteRecord method, 198
deleteRecordStore method, 197
Desktop applications, 376–377
destroyApp method, 21
Destroyed MIDlet state, 37–39
Detecting sprite collisions, 153
Developer keys, 308
deviceDiscovered method
BlueChewFinder, 289
DiscoveryListener, 277
DeviceListener interface, 277
Devices
discovery, 276–278
testing, 18–19
DiamondFrameCanvas class, 169–170
digest method, 358
Directories
private, 208
streams for, 206–208
directorySize method, 207
disconnect method, 281
Discovery, device, 276–278
DiscoveryAgent class, 276–277
DiscoveryListener interface, 277
dispatchMouseEvent method, 174
Display class, 22
Displayable class, 78
Displaying
3D content, 180–183
screens, 70–71
SVG documents, 168–170
Documentation for REST, 307
Documents
animated, 163–166
displaying, 168–170
manipulating, 166–168
doFinal method, 359
Domains, protection, 41–423
Double buffering, 102
DOWN constant, 125
DOWN_PRESSED constant, 146
drawArc method, 107
Drawing
images, 116–118
on images, 119–120
lines and shapes, 105–109
text, 109–111
drawLine method, 107
drawRect method, 107
drawRGB method, 121
drawRoundRect method, 107
drawString method, 109
Dynamic push registration, 48
EclipseME tool, 13
editNickname method, 223–224, 228–229
Effects, audio, 347
ElevenMIDlet class, 148
EMAILADDR constant, 71
Emulators
overview, 18
SATSA testing with, 354–355
Sun Java Wireless Toolkit for CLDC, 11–12
en-GB resource file, 237
en-US resource file, 237
Encryption, 357
Bluetooth, 280
ciphers, 359
message digests, 357–358
signatures, 358
endElement method, 297–298
enumerateRecords method, 199
Enumeration interface, 32, 207
EqualizerControl class, 345
ERROR constant, 73
EVENT_LIST constant, 220
EventList class, 220
Events and event handling
contacts, 222
custom items, 135–136
custom screens, 124–127
item change, 95–97
lists, 83–84
SVG, 174–178
exchangeAPDU method, 355
EXCLUSIVE forms, 87
EXCLUSIVE lists, 81–83
exists method, 207
EXIT constant, 77
Exporting contacts, 221–222
Exposure modes, 348
ExposureControl class, 348
Extensible Markup Language (XML), 295
with REST, 307
ExternalResourceHandler class, 160–161
FACE_ constants, 110
Feeds, RSS, 298–301
Fields for contacts, 215, 218–219, 222
fileconn.dir properties, 208–209, 331
FileConnection class, 195–196, 205–206
FileExerciserMIDlet class, 210–213
Files, 205
example, 210–213
permissions, 209–210
pictures and music, 208–209
roots, 209
streams for, 206–208
fileSize method, 207
FileSystemRegistry class, 209
fillArc method, 107
fillCells method, 150
Filling rectangles, 105–107
fillRoundRect method, 107
fillTriangle method, 107
finally keyword, 31
findByUsername method, 308
Finding resources, 235–236
FIRE constant, 125
FIRE_PRESSED constant, 146
FirenzeCanvas class, 111
FlashControl class, 348
Flickering, double buffering for, 102
Flickr photo sharing service, 308–317
FlickrMIDlet class, 308–314
FlickrPhotoListHandler class, 309, 315–317
FlickrUserHandler class, 309, 314–315
Floating-point numbers for currency, 238
flushGraphics method, 146
FM radio, 349
FocusControl class, 348
focusOn method, 175
Font class, 110–111
FontChoice class, 138–141
Fonts
custom items, 137–141
lists, 86
text, 109–111
formatCurrency method, 238
formatDate method, 238
formatMessage method, 238
formatNumber method, 238
formatPercentage method, 238
Formats for images, 344–345
Formatter class, 237–238, 242, 244
Formatting numbers and dates, 237–239
Forms, 86–88
gauges, 89–90
items. See Custom items and CustomItem class; Items
limitations, 92–95
Frames and frame sequences for sprites, 151–152
frizz method, 122–123
fromSerialFormat method, 221
Fundamental classes, 27
GameCanvas class, 143–148
Games, 143
actions, 125
blocky example, 154–158
canvas, 143–148
layers, 148–151
scene assembly, 153–154
sprites, 151–153
Gauges, 89–90
generate method, 186
generateCSR method, 357
Generic Connection Framework (GCF). See Connections and Connection class
GET connection type, 252
get method
ClientSession, 281
ResourceManager, 234
getAppProperty method, 41
getArrayElementLabel method, 219
getAttribute method, 316
getAttributeLabel method, 219
getBestImageHeight method, 74
getBestImageWidth method, 74
getCategories method
LandmarkStore, 372
PIMItem, 219
getColor method, 103
getColorImage function, 93, 95
getCommPorts method, 258–260
getConnectionURL method, 278
getContactName method, 224, 231–232
getControl method
for cameras, 348
Player, 332
getControls method, 333
getDate method, 89
getDefaultFont method, 110
getDefaultTimeout method, 73
getDisplay method, 70
getDocument method, 166
getDocumentElement method, 166
getElementById method, 166
getFeatureID method, 363
getFieldLabel method, 219
getFinishedTimestamp method, 363
getFont method
Font, 110
FontChoice, 139
getFormatter method, 241
getGameAction method, 125, 135
getGameActionName method, 126
getGraphics method, 119–120, 146
getHeaderField method, 253
etHeight method
Canvas, 101
Font, 111
getHTTPSInformation method, 256
getImage method, 82
getInitialReference method, 356
getInstance method
Cipher, 359
Graphics3D, 180
LandmarkStore, 372
LocationProvider, 370
MessageDigest, 357
PIM, 220
Signature, 358
getInteractionModes method, 135–136
getKeyName method, 125
getKeyStates method, 146
getLastKnownLocation method, 371
getLayerAt method, 153
getLocalDevice method, 276
getMethod method, 322
getMinContentHeight method
AnimationGauge, 134
CustomItem, 131
FontChoice, 140
getMinContentWidth method
AnimationGauge, 134
CustomItem, 131
FontChoice, 140
getName method, 303
getNSID method, 315
getOrientation method, 373
getPhotoURLs method, 315
getPrefContentHeight method
AnimationGauge, 134
CustomItem, 132
FontChoice, 140
getPrefContentWidth method
AnimationGauge, 134
CustomItem, 132
FontChoice, 140
getPresetNames method, 342
getProperty method, 29
getPublicPhotos method, 309
getQualifiedCoordinates method, 370
getReceiveMTU method, 279
getRecord method, 198
getRecordSize method, 198
getRepeat method, 220
getRequest method, 64
getResources method, 240–241
getRGB method, 121–122
getRoot method, 211
getSelectedFlags method, 83
getSelectedIndex method, 83
getServer method, 64
getSize method, 153
getSizeAvailable method, 198
getSnapshot method, 338
getSpeech method, 304
getState method, 363
getString method
List, 82
ResourceManager, 234
TextField, 89
getSupportedContentTypes method, 331
getSupportedFormats method, 345
getSupportedMediaProcessorInputTypes method, 342
getSupportedProtocols method, 331
getSupportedRepeatRuleFields method, 220
getTargetComponent method, 161
getText method, 303
getTimestamp method
Location, 370
LocationProvider, 371
getTitleTileImage method, 119–120
getTrait method, 167
getTransactionID method, 363
getTranslateX method, 105
getTranslateY method, 105
getTransmitMTU method, 279
getURL method, 289
getWidth method, 101
getWrapHeight method, 111, 113
getX method, 152
getY method, 152
Global Positioning System (GPS), 369
current location, 370–371
landmarks, 372
orientation, 373
proximity, 371
simulating device location, 373–374
updates, 371
Global System for Mobile Communications (GSM), 331, 354
GlobalManager class, 342
Google Maps, 376
GoSIP example, 323
Graphics
3D. See 3D graphics
custom items. See Custom items and CustomItem class
custom screens. See Custom screens
games. See Games
SVG. See Scalable Vector Graphics (SVG)
Graphics3D class, 180
Grayscale display, 102
Handlers
content. See Content handlers
event. See Events and event handling
parser, 296–298
HanzUndFranzMIDlet class, 344
HashTable class, 32
hasMore method
HermesMessageReader, 273
MessageConnection, 271
hasNextElement method, 199
hasPointerEvents method, 127
hasPointerMotionEvents method, 127
hasPreviousElement method, 199
hasRepeatEvents method, 125
HCENTER constant, 109
HeaderSet class, 281
height method, 111
HELP constant, 77
HermesForm class, 270
HermesMessageForm class, 270
HermesMessageReader class, 270–272
HermesMIDlet class, 269–270
hideNotify method
AnimationGauge, 133–134
BangCanvas, 147
BubblesMIDlet, 174
LayersCanvas, 157
MeshCanvas, 190
SimpleAnimatorMIDlet, 165
SimpleM3GCanvas, 182
SVGEventMIDlet, 177
TypicalCanvas, 144
TypicalGameCanvas, 145
Hints
alerts, 73
OBEX, 280
Hot swappable devices, 354
HTTP
advanced techniques, 252–253
connections, 248–249
image loading via, 250–252
threads, 250
HttpConnection class, 249, 253
HTTPS, 254–257
HttpsConnection class, 254
HTTPSInformationMIDlet class, 254–257
Identified third-party domains, 42
IDs
content, 267
record, 198–199
IllegalArgumentException class, 72, 74
ImageEffectControl class, 342
imageencoding capability in AMMS, 341
ImageFormatControl class, 344–345
ImageItem class, 87–88
imagepostprocessing capability in AMMS, 341
Images, 74
alerts, 73
creating, 114–116
drawing, 116–118
drawing on, 119–120
formats, 344–345
in lists, 82–83
loading, 250–252
processing, 342–344
ImageTransformControl class, 343
Immediate mode in M3G, 184
Immutable images, 115
IMPLICIT lists, 81–83
import method, 221
importAppointment method, 224, 229–230
importContact method, 220
importEvent method, 220
Importing contacts, 221–222
importToDo method, 220
Incoming connections, 49, 260–261
Incremental noninteractive gauges, 90
incrementTime method, 175
INDEFINITE constant, 90
IndexBuffer class, 186
Indices
layers, 153
list items, 82–83
PIMItem, 216–217
records, 198
INFO constant, 73
information method, 224, 227–228
Inheritance, resource, 237
INITIAL_CAPS_SENTENCE modifier, 72
INITIAL_CAPS_WORD modifier, 72
initRequest method, 322
initResponse method, 322
Input
desktop applications, 376–377
reading, 31–32
streams for, 30–32
Input modes, 72–73
InputConnection class, 249
InputStream class, 30–32, 206, 221
InputSubset class, 72
inquiryCompleted method
BlueChewFinder, 289
DiscoveryListener, 277
insert method
LayerManager, 153
List, 82
insertBefore method, 171
Interactive Audio Special Interest Group (IASIG) guidelines, 345
Interactive custom item example, 137–141
Interactive gauges, 89–90
Interactive MIDI player, 336
Internal traversal of custom items, 136–137
Internationalization. See Mobile internationalization
Internet Mail Consortium, 221
Internet strengths, 376
INVITE method type, 320
InvocationRunnable class, 62–63
invokeAndWait method, 168, 171
Invoking content handlers, 57–59
IOConnection class, 249
IOException class, 74
isColor method, 102
isDirectory method, 207
isDoubleBuffered method, 102
isHidden method, 207
isSupportedArrayElement method, 222
isSupportedAttribute method, 222
isSupportedField method, 222
isValid method, 370–371
ItemCommandListener class, 95
ItemMIDlet class, 96–97
Items, 87–89
change events and commands, 95–97
custom. See Custom items and CustomItem class
layout, 90–92
lists, 217–220
working with, 88–89
items method
ContactList, 217–218
EventList, 220
ToDoList, 220
itemsByCategory method, 219
itemStateChanged method, 95, 97
ItemStateListener interface, 95–97
Iterating through records, 199
J2ME Polish compiler, 17
J2ME Wireless Toolkit, 11
jar tool, 16
Java API for XML Parsing (JAXP), 9
Java Archive (JAR) files, 14
java.awt.im.InputSubset class, 72
Java Card RMI, 355–356
Java Community Process (JCP), 4
java.lang package, 27
Long class, 29
Runtime class, 29
String class, 28
System class, 29
UnicodeBlock class, 72
Java ME strengths, 375
java.security package
MessageDigest class, 357
Signature class, 358
Java Specification Requests (JSRs), 4–5
Java Technology for Wireless Industry (JTWI), 5–6
java.util package, 27
Date class, 32
Random class, 32
java.util.concurrent package, 29
Java Virtual Machine (JVM), 4–5
javac compiler, 16
JavaCardRMIConnection class, 355–356
JavaFX product line, 10
javax.bluetooth package, 275
javax.bluetooth.UUID class, 277
javax.crypto.Cipher class, 359
javax.microedition.amms package, 342
javax.microedition.amms.control.audio3d package, 346
javax.microedition.amms.control.audioeffect package, 347
javax.microedition.amms.control.camera package, 348
javax.microedition.amms.control.imageeffect package, 343
javax.microedition.amms.control.tuner package, 348
javax.microedition.apdu.APDUConnection class, 355
javax.microedition.content.Registry class, 57
javax.microedition.global package, 233
javax.microedition.io package, 247
javax.microedition.io.Connector.bluetooth package, 282
javax.microedition.io.Connector.obex package, 282
javax.microedition.io.PushRegistry class, 48–49
javax.microedition.jcrmi.JavaCardRMI-Connection class, 355–356
javax.microedition.lcdui package, 22
CustomItem class, 131
Display class, 70
Displayable class, 69
Font class, 110
javax.microedition.lcdui.game package, 115, 143
javax.microedition.location package, 369, 373
javax.microedition.m2g package, 160
javax.microedition.media.control package, 332
javax.microedition.media.Manager class, 329
javax.microedition.media package, 329
javax.microedition.midlet.MIDlet class, 21
javax.microedition.payment package, 361
javax.microedition.pim package, 215
javax.microedition.pki.UserCredential-Manager class, 356–357
javax.microedition.rms package, 196
javax.microedition.securityservice.CMS-MessagesSignatureService class, 356
javax.microedition.sip package, 320
javax.obex package, 275
javax.xml.parsers package, 296
jaxp.xml.parsers.SAXParser class, 296
JEnable compiler, 17
JPEG format, 342
JSR 172, XML parsing without, 301–303
Juinness tool, 180
K Virtual Machine (KVM), 28
Key codes, 124–125
Key states, 146
KeyCanvas class, 125–126
keyPressed method
BubblesMIDlet, 174
CustomItem, 135
FontChoice, 140
GameCanvas, 146
KeyCanvas, 126
SimpleAnimatorMIDlet, 165
SVGEventMIDlet, 177
TypicalCanvas, 144
keyReleased method
BubblesMIDlet, 174
Canvas, 124
CustomItem, 135
GameCanvas, 146
KeyCanvas, 126
SimpleAnimatorMIDlet, 165
SVGEventMIDlet, 177
keyRepeated method, 125–126, 146
KickButtMIDlet class, 22–24, 38–39
kXML 2 parser, 301–302
KXmlParser class, 302–303
L2CAP protocol, 278–279
L2CAPConnection class, 248, 279
L2CAPConnectionNotifier class, 279
Labels
command, 77
contact fields, 219
Landmarks in Global Positioning System, 372
LandmarkStore class, 372
Language locale codes, 234
lastModified method, 207
Latched key states, 146
Layer class, 148
Layer managers, 149
LayerManager class, 151, 153–154
Layers
tiled, 148–151
view windows, 153
LayersCanvas class, 154–158
LAYOUT_ constants, 92
LEFT constant
games, 125
text, 109
LEFT_PRESSED constant, 146
Life cycle of MIDlets, 37–40
Lines, drawing, 105–109
list method, 207
listConnections method, 49, 53
Listeners
for media, 332
for parsers, 296
listPIMLists method, 221
listRecordStores method, 197
listRoots method, 209
Lists and List class, 81–82
advanced control, 86
creating, 82–83
events, 83–84
examples, 84–86
PIMItem, 217–221
selections, 83
load method, 180
Loader class, 180
loadImage method, 123
loadImages method, 116–118
LocalDevice class, 276–277
Locales, 233–234
current location, 370–371
landmarks, 372
orientation, 373
proximity, 371
scripts, 373
simulating device location, 373–374
updates, 371
Location in multipart messages, 267
LocationControl class, 346
LocationException class, 370, 373
LocationListener interface, 371
LocationProvider class, 370–371
locationUpdated method, 371
Log class, 293
Long class, 29
Long labels for command, 77
lookupPicture method, 310, 314
lookupPictures method, 310, 313–314
M3G Exporter for 3ds Max 5.1 and 6.0 tool, 180
M3G files, 179–180
M3GToolkit tool, 180
makeBubble method, 173
makePart method, 267–268
Manager class, 329–331
Mandatory APIs, 7
Manufacturer domains, 42
Mascot Capsule M3GConverter tool, 179
maxCategories method, 219
Measuring text, 111–114
MediaException class, 329, 336
MediaProcessor class, 342–343
MediaProcessorListener interface, 343
Mesh class, 184
MeshCanvas class, 189–191
Meshes, 184–191
MeshMIDlet class, 189
Message digests, 357–358
MessageConnection class, 248, 263–264, 268, 271
MessageDigest class, 357–358
MessageListener class, 268–269
MessagePart class, 268
messageReceived method, 287
Messages, 263
application, 269–273
purpose, 263–264
receiving, 268–269
sending, 264–268
microedition-locale property, 234
MIDI. See Musical Instrument Digital Interface (MIDI) standard
MIDIControl class, 336
application properties, 40–41
browser and calls, 40
building, 15–16
colors, 102–105
contents, 14–15
life cycle, 37–40
permissions, 42–44
protection domains, 41–42
signing, 44
starting automatically. See Automatic MIDlet starting; Content handlers
MIDletStateChangeException class, 39
MIDP_LOWERCASE_LATIN modifier, 72
MIDP_UPPERCASE_LATIN modifier, 72
Minimum size of custom items, 131
Mirroring sprites, 152
mkdir method, 206–207
MMMIDlet application, 339–340
Mobile 3D Graphics (M3G) API, 179–180
Mobile client for Flickr, 308–317
Mobile Information Device Profile (MIDP) overview, 3
future, 9–10
Java technology, 4–5
avaFX, 10
MSA APIs, 7–9
umbrella specifications, 5–7
wireless devices, 3–4
Mobile internationalization, 9, 233
example, 239–244
locales, 233–234
number and date formats, 237–239
resources, 234–237
sorting strings, 239
Mobile Media API (MMAPI), 8, 327–329
Mobile payments, 361
process, 362–363
providers, 364
provisioning information, 365–366
security, 366
Mobile Service Architecture (MSA) specification, 6–9, 11
Modes
exposure, 348
input, 72–73
Modifiers in TextField, 72
Money
payments. See Mobile payments
representation, 238
Multimedia, 8
AAMS. See Advanced Multimedia Supplements (AMMS) specification
messaging. See Messages
sound and video. See Sound and video
Multimedia Messaging Service (MMS), 7, 12, 263–264, 266
Multipart messages, 266–268
MutipartMessage class, 266–267
MultiParts class, 266
Multiple devices, developing for, 377
MULTIPLE forms, 87
MULTIPLE lists, 81–83
music capability in AMMS, 341
Music files, 208–209
Musical Instrument Digital Interface (MIDI) standard, 328
content files, 330–331
interactive player, 336
tones, 329
volume control, 332–333
Musical tetrahedron, 346–347
Mutable images, 115
NAME_ constants, 218
Names
contacts, 218
files and directories, 207
PIMItem, 216–217
resource files, 235
Native methods, 28
NetBeans Mobility Pack, 13–14
Networking
advanced, 7
Bluetooth. See Bluetooth API
connections. See Connections and Connection class
messages. See Messages
SIP. See Session Initiation Protocol (SIP) API
web services, 295–296, 303–317
newDatagram method, 258
newMessage method, 264
newSAXParser method, 296
next method
HermesMessageReader, 273
kXMLParser, 302
MessageConnection, 271
nextFrame method, 151
nextRecord method, 199
nextRecordId method, 199
Nicknames, 216–217
Nodes in 3D graphics, 184
NON_PREDICTIVE modifier, 72
Noninteractive gauges, 89–90
Note numbers, 329
Notifications, alerts for, 73
Notifiers in SIP, 321
notify method, 269
notifyDestroyed method, 39
notifyIncomingMessage method, 268–269, 271–272
notifyPaused method, 39
notifyResponse method, 322
numAlphaLevels method, 102, 121
Number formatting, 237–239
numColors method, 102
NUMERIC constant, 71
ObexImageReceiver class, 281
ObexImageSender class, 280
Obfuscators, 17–18
Object finalizers, 28
Object3D class, 180
OK constant, 77
onConnect method, 282
onGet method, 282
onPut method, 282
open method
Connector, 205, 247–248, 260, 279, 282
Invocation, 64
openComm method, 259
openDataInputStream method, 206
openDataOutputStream method, 206
openInputStream method, 206, 249
openOutputStream method, 206
openPIMList method, 221
openRecordStore method, 196–197
Operator domains, 42
Optional APIs, 5
OPTIONS method type, 320
org.kxml2.io.KXmlParser class, 302–303
org.w3c.dom.event package, 166
org.w3c.dom.svg package, 166–167
org.xml.sax.helpers package, 296
Orientation class, 373
Orientation in Global Positioning System, 373
Origins in coordinate systems, 105
Output streams, 30–32
OutputStream class, 206
Packaging with jar tool, 16
Packed integers for color, 102–103
packRecord method, 201–202
paint method, 102
Painting
custom items, 132
custom screens, 102
parse method
BillMIDlet, 306
TopTenMIDlet, 301
parseRecord method, 201
parseToHandler method, 314
Parsing
handlers, 296–298
RSS, 298–301
PASSWORD modifier, 72
Pathnames for files, 208
pause method, 161
pauseApp method, 21–24
Paused MIDlet state, 37–39
Payment API, 361
payment providers, 364
security, 366
Payment provisioning information, 364
Payment update files, 364
Payments, mobile. See Mobile payments
PDA Optional Packages, 205
Permissions
audio recording, 337
Bluetooth and OBEX, 282
connections, 261
contacts, 222–223
files, 209–210
MIDlets, 42–44
RMS, 195
SIP, 320
Personal Information Management (PIM) API, 9, 195, 215, 222
PHONENUMBER constant, 71
Picture files, 208–209
PIMItem class, 215–221
PIMList class, 217–221
platformRequest method, 40
PlayerListener class, 332
Players and Player class, 327, 329–331
audio recording, 337
cameras, 348
controls, 332–333
sampled audio content, 333
threading and listening, 332
video, 333–335
playerUpdate method, 332
playTone method, 329
POINTER_ constants, 135–136
Pointer events, 127
pointerDragged method, 127, 135
pointerPressed method, 127
BubblesMIDlet, 174
SimpleAnimatorMIDlet, 165
SVGEventMIDlet, 177
pointerReleased method, 127
BubblesMIDlet, 174
SimpleAnimatorMIDlet, 165
SVGEventMIDlet, 177
Ports for messages, 265
Positioning sprites, 152
POST connection type, 252
Preferred size for custom items, 131
PREFETCHED constant, 330
Premium Priced SMS (PPSMS) transactions, 364
Preprocessors, 17
Preset images, 342–343
Preverified class files, 16
prevFrame method, 151
previousRecord method, 199
previousRecordId method, 199
Primitive types, 28–29
Priorities for command, 77–78
process method, 362
processCharacters method
BillHandler, 306
DefaultHandler, 298
TopTenHandler, 301
processed method, 363
processKeys method
BangCanvas, 147–148
LayerManager, 15
LayersCanvas, 157
SimpleM3GCanvas, 183
TypicalGameCanvas, 145
processStart method
DefaultHandler, 298
FlickrPhotoListHandler, 315
FlickrUserHandler, 315
ProGuard obfuscator, 18
Properties for application, 40–41
Protection domains, 41–43
Providers for mobile payments, 364
providerStateChanged method, 371
Provisioning information for mobile payments, 364–366
proximityEvent method, 371
ProximityListener interface, 371
ProximityListeners interface, 373
Pseudorandom number generators, 32
Public Key Infrastructure (PKI), 354
Push parsers, 296
Push registries, 7, 47–54, 282
PushRegistry class, 48–49
PushyMIDlet class, 49–54
put method, 281
QualifiedCoordinates class, 372
Queries
PIM lists, 217–218
record stores, 199
Radio, 348–349
Random class, 32
Random numbers, 32
Raster format, 159
RateControl class, 333
Raw images, 342
RDSControl class, 348–349
read method
Cache, 200–201
InputStream, 30
readAll method
FlickrMIDlet, 314
InputStream, 32
readFile method, 212
Reading input data, 31–32
Real-Time Streaming Protocol (RTSP), 331
realize method, 330
REALIZED constant
Player, 330
video, 334
receive method
Connector, 279
Datagram, 258
MessageConnection, 268
Receiving messages, 268–269
reconcile method, 287–288, 290–291
Record Management System (RMS) API, 195–196
Record stores, 195–196
databases, 196
example, 200–204
iterating, 199
manipulating, 198
queries, 199
working with, 196–198
RecordComparator class, 199
RecordEnumeration class, 199
RecordFilter class, 199
Recording audio, 337
RecordStore class, 196–197
RecordStoreException class, 196–197
RecordStoreListener class, 198
Rectangles, filling, 105–107
Reference pixels in sprites, 152
Reflection, 28
register method, 65
REGISTER method type, 320, 322
registerConnection method, 48
RegisterContentRunnable class, 61–62
RegisterRunnable class, 51, 54
Registration
content handlers, 65–66
push registries, 48–49
Registry class, 57
releaseTarget method, 169, 180
Remote Method Invocation (RMI), 303, 355–356
Remote objects with smart cards, 355
RemoteException class, 304
remove method
LayerManager, 153
removeContact method, 219
removeCredential method, 357
removeDirectory method, 212
removeEvent method, 220
removeFile method, 212
removeFromCategory method, 219
removeToDo method, 220
rename method, 207
render method, 169
BangCanvas, 148
LayersCanvas, 157–158
MeshCanvas, 190
SimpleM3GCanvas, 183
TypicalGameCanvas, 145
repaint method
Canvas, 102
CustomItem, 132
Repeat events, 125
RepeatRule class, 220
Representational State Transfer (REST) approach, 295–296
Flickr photo sharing service, 308–317
principles, 307–308
requestResource method, 161
Requests in SIP, 321–322
ResourceManager class, 234–237
Resources
for custom screens, 118
inheritance, 237
internationalization. See Mobile internationalization
Responses
to network connections, 47–54
SIP, 322
resumeRequest method, 39
Retained mode in M3G, 179
retrieveDevices method, 278
ReverbControl class, 347
RGBCanvas class, 122–123
Rich Site Summary (RSS) parsing, 298–301
RIGHT constant
games, 125
text, 109
RIGHT_PRESSED constant, 146
rootChanged method, 209
Roots, file, 209
Rotating
sprites, 152
trademark symbol, 167–168
runImagePostProcessingJPEG method, 344
runImagePostProcessingRaw method, 344
Runnable class, 168
Runtime class, 29
runURL method, 286–287
Sampled audio content, 333
SATSA-APDU API, 355
SATSA-CRYPTO API, 357–358
SATSA-JCRMI API, 355–356
SATSA-PKI API, 356–358
SATSADemos application, 355
SAXParser class, 296
SAXParserFactory class, 296
Scalable Vector Graphics (SVG), 159–160, 378
adding elements, 171–174
animated documents, 163–166
content, 160–163
displaying documents, 168–170
event handling, 174–178
manipulating documents, 166–168
ScalableGraphics class, 168–169
ScalableImage class, 160
Scene graph API, 179
Scenes
games, 153–154
with layers, 148–151
Screen classes, 22–23
SCREEN constant, 77
Screens
custom. See Custom screens
displaying, 70–71
stretchy, 377–378
searchServices method, 277–278
Secure Sockets Layer (SSL), 254
SecureConnection interface, 257
Security and transactions, 8, 351, 361, 363
application architecture. See Applications and application architecture
audio recording, 337
Bluetooth, 280
cryptography, 357–359
GPS. See Global Positioning System (GPS)
mobile payments, 361–366
smart cards, 354–357
Security and Trust Services APIs (SATSA), 353–354
application testing with emulator, 354–355
certificates, 357
cryptography, 357–359
smart cards, 354–357
SecurityException class, 43, 249
Selections in lists, 83
selectService method, 278
send method
Datagram, 258
L2CAPConnection, 279
SIPClientConnection, 321
sendBinary method, 265–266
Sending
binary messages, 265–266
messages, 264–265
multipart messages, 266–268
RIP requests, 321–322
SIP responses, 322
SendMIDlet class, 53
sendMultipart method, 266
SENSITIVE modifier, 72
Sensitive operations, 41
SeraphimMIDlet class, 223–232
SerialBoxMIDlet class, 258–260
Server setup for Bluetooth, 279
ServerRequestHandler class, 282
ServerSocketConnection class, 260
Service discovery for Bluetooth devices, 276, 278
serviceAdded method, 287
ServiceRecord class, 278
serviceRemoved method, 287
servicesDiscovered method
BlueChewFinder, 289–290
DiscoveryListerner, 277
serviceSearchCompleted method
BlueChewFinder, 290
DiscoveryListerner, 277
Session Initiation Protocol (SIP) API, 7, 319–320
development tools, 321
examples, 323
notifiers, 321
overview, 320
requests, 321–322
responses, 322
setAnimatedTile method, 151
setCell method, 150
setClip method, 124
setColor method, 103
setCommandListener method, 24
setCurrent method, 70
setDate method, 89
setDisplayFullScreen method, 334
setFileConnection method, 207
setFitPolicy method, 86
setFont method
Font, 110
List, 86
setFrame method, 152
setFrameSequence method, 151
setFullScreenMode method, 71, 101
setInitialInputMode method, 73
setInput method, 342–343
setItemCommandListener method, 95
setItemStateListener method, 95
setLocationListener method, 371
setMode method, 197
setOutput method, 342
setPath method, 281
setPayloadText method, 264
setPosition method, 152
setpreset method, 342
setReadable method, 207
setRecord method, 198
setRefPixelPosition method, 152
setRepeat method, 220
setRequestMethod method, 252
setRequestProperty method, 253
setSelectedFlags method, 83
setSelectedIndex method, 83
setStrokeStyle method, 107
setTimeout method, 73
setTransform method, 152
setup method, 154–156
setupConnections method, 285
setViewWindow method, 153
setWritable method, 207
SHA-1, 358
ShapeCanvas class, 107–108
Shapes, drawing, 105–109
Short labels for command, 77
Short Message Service (SMS), 7, 12, 263–265, 267
showContacts method, 223, 226–227
showForm method, 232
showNotify method, 127
showSVGImage method
BubblesMIDlet, 172–173
SimpleAnimatorMIDlet, 165
SimplePlayerMIDlet, 162
SVGEventMIDlet, 176–177
TMTweakerMIDlet, 167–168
sign method, 356
Signature class, 358
Signatures, 356–358
Signed MIDlet suites, 41–42
Signing MIDlets, 44
Simple API for XML (SAX) standard, 296
SimpleAnimatorMIDlet, 164–165
SimpleM3GCanvas class, 181–183
SimpleM3GPlayer class, 181–182
SimplePlayerMIDlet class, 161–163
Simulating device location, 373–374
SIP. See Session Initiation Protocol (SIP) API
SipClientConnectionListener class, 321–322
SipConnectionNotifier class, 321–322
SIPDemo example, 323
SIPS method type, 320
SipServerConnection class, 322
SipServerConnectionListener interface, 322
Size
canvas, 101–102
custom items, 131–132
custom screens, 118
fonts, 110
MMS messages, 266
SIZE_ constants, 110
sizeChanged method
BubblesMIDlet, 174
Canvas, 102
CustomItem, 132
SimpleAnimatorMIDlet, 165
SVGEventMIDlet, 177
Smart cards, 353–354
communication with, 355–356
for signatures, 356–357
testing interaction with, 354–355
SnakeCharmerMIDlet class, 57–59, 64–65
SnapshotControl class, 348
Snapshots, 338
SocketConnection interface, 257
Soft keys, 127
SONERA provider, 364
Sorting strings, 239
Sosnoski, Dennis, 17
Sound and video, 327
background information, 327–329
content selection, 338–339
controls, 332–333
example, 339–340
interactive MIDI player, 336
players, 329–331
sampled audio content, 333
sound recording, 337
sound special effects, 347
supported content types, 331
threading and listening, 332
tone sequence player, 335–336
tones, 329
video capture, 338
video content, 333–335
SoundSource3D class, 345–346
Source code, online, 25
SP-MIDI standard, 328
Special audio effects, 347
SphereMeshGenerator class, 191
Sprite class, 115, 148, 151–153
Stack class, 32
StandMIDlet class, 373
start method, 29
STARTED constant, 330
startElement method, 297–298
startInquiry method
DiscoveryListener, 277–278
LocalDevice, 277
States
key, 146
MIDlets, 37–40
Static registration
content handlers, 65–66
push registries, 48–49
STOP constant, 77
stop method
Storage
contacts. See Contacts and calendars
files. See Files
record stores. See Record stores
Store-and-forward networks, 264
Stream classes, 27
StreamConnection class, 206, 279
StreamConnectionNotifier class, 279
Streams, 27
for files and directories, 206–208
input and output, 30–32
Stretchy screens, 377–378
stringArraySize method, 218
StringBuffer class, 29
StringComparator class, 239
Strings and String class, 28–29
for contacts, 218–219
sorting, 239
stringWidth method, 111
Stroke style, 107
STYLE_ constants, 110
Subscriber identity module (SIM) card, 354
Subsets in MSA, 6
substringWidth method, 111
Sun Java Wireless Toolkit, 11–13, 18
Supported sound and video content types, 331
supportedSerialFormats method, 222
SVG. See Scalable Vector Graphics (SVG)
SVG Tiny, 160
SVGAnimator class, 160–161, 163
SVGAnimatorMIDlet class, 164
SVGElement interface, 166–167
SVGEventListener interface, 163, 174
SVGEventMIDlet class, 175–176
SVGImage class, 160–161, 169, 174
SVGMatrix class, 167
System class, 29
System methods, 28–29
Testing
content handlers, 64–65
devices, 18–19
smart card interaction, 354–355
Tetrahedron, musical, 346–347
Text
alerts, 73
drawing, 109–111
measuring, 111–114
messaging. See Messages
TextBox, 71–72
TEXT_WRAP_ constants, 86
TextBoxes and TextBox class, 71–72
displaying, 22–23
example, 74–75
TextMessage class, 264
Third-party domains, 42
Threds, 29–30
connections, 250
game canvas, 144
media, 332
3D audio, 345–347
3D graphics, 179
content display, 180–183
M3G files, 179–180
meshes, 184–191
.3g2 format, 331
tick method
MeshCanvas, 190
Tickers, 76–77
Tiled layers, 148–151
TiledLayer class, 148–151, 154
TIME_ constants, 238
Timeouts for alerts, 73
TimeZone class, 32
Title bars for images, 120
Titles
alerts, 73
lists, 81
TitleTileCanvas class, 119–120
TMTweakerMIDlet class, 167–168
To-do lists, 215
methods for, 220
PIMItem, 215–216
TODO_LIST constant, 220
ToDoList class, 220
Together3DCanvas class, 346–347
Tone sequence player, 335–336
Tone sequences, 329
ToneControl class, 335
Tones, 329
TOP constant, 109
TopTenHandler class, 301
TopTenMIDlet, 298–301
toSerialFormat method, 222
toString method, 29
totalSize method, 208
Trademark symbol, 166–168
TRANSACTION_ constants, 363
Transaction identifiers, 362
TransactionListener interface, 361–362
TransactionModule class, 361–362
TransactionRecord interface, 361, 363
Transactions. See Security and transactions
translate method, 105
Transparency of colors, 102
Transport Layer Security (TLS), 254
Traversal of custom items, 136–137
TRAVERSE_ constant, 136
traverse method
CustomItem, 136–137
FontChoice, 140–141
traverseOut method
CustomItem, 137
FontChoice, 141
TriangleStripArray class, 186
truncate method, 207
Trust Services API, 8
tuner capability in AMMS, 341
TunerControl class, 348
Types of command, 77
TypicalCanvas class, 143–144
TypicalGameCanvas class, 145–146
UIOneMIDlet class, 74–75
UITwoFormMIDlet class, 93–95
UITwoMIDlet class, 84–86
Umbrella specifications, 5–7
UNEDITABLE modifier, 72
UnicodeBlock class, 72
Unidentified third-party domains, 42
Universally unique identification numbers (UUIDs), 277, 279
UNREALIZED constant, 330
Unregister command, 53
unregister method, 63
unregisterConnection method, 48
UnregisterContentRunnable class, 62
UnregisterRunnable class, 51, 54
UnsupportedLocaleException class, 237
Untrusted domains, 42
UP constant, 125
UP_PRESSED constant, 146
update method
Cipher, 359
Signature, 358
Updates for Global Positioning System, 371
URL constant, 71
URLs
files, 208
REST, 307
User interface, 69–70
alerts, 73
commands, 76–80
example, 74–76
forms. See Forms
images, 74
input modes, 72–73
lists. See Lists and List class
screens, 70–71
ticker, 76–77
UserCredentialManager class, 356–357
Utilities and tools
classes for, 27
Sun Java Wireless Toolkit for CLDC support for, 11
UUID class, 277
UUIDs (Universally unique identification numbers), 277, 279
VCENTER constant, 116
Vector class, 32
Vector format, 159
Vector graphics. See Scalable Vector Graphics (SVG)
Vectors class, 270
verify method, 358
VertexBuffer class, 185
Vertices in 3D graphics, 184–187
Video. See Sound and video
View windows, 153
Viewports
coordinate system, 175
SVG, 161
Virkus, Robert, 17
Volume controls for MIDI, 332–333
Wait indicator, 132–135
wait method, 269
WakeUpMIDlet class, 54–55
WARNING constant, 73
wasMissed method, 363
WavHandlerMIDlet class, 60–65
Web Service Description Language (WSDL) file, 303
Web services
overview, 295–296
REST, 307–317
width method, 111
Wireless devices, 3–4
Wireless Messaging API (WMA) API, 263
WMA Console, 53
World class, 180–181
wrap method
Font, 111–112
WrapCanvas, 113
WrapCanvas class, 112–114
wrapImplementation method, 113–114
write method, 201
Write Once, Run Anywhere, 377
Writing content handlers, 59–64
WS-* web services, 295–296, 303–307
X axis, 105
X-CCARD adapter, 366
XML, 295
with REST, 307
Y axis, 105
ZoomControl class, 348
18.223.172.132