`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Kim Topley
`
`Publisher: O'Reilly
`
`Edition March 2002
`
`ISBN: 0-596-00253-X, 478 pages
`
`J2ME in a Nutshell provides a solid, no-nonsense reference to the 'alphabet soup' of micro
`edition programming, covering the CLDC, CDC, KVM and MIDP APIs. The book also
`includes tutorials for the CLDC, KVM, MIDP and MIDlets, MIDlet user interfaces,
`networking and storage, and advice on programming small handhelds. Combined with
`O'Reilly's classic quick reference to all the core micro-edition APIs, this is the one book that
`will take you from curiosity to code with no frustrating frills in between.
`
`Ericsson Ex. 2005, Page 2
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`11345566
`
`8
`
`99
`
`14
`14
`
`16
`16
`24
`32
`37
`
`47
`47
`51
`51
`57
`62
`76
`
`84
`84
`88
`
`139
`139
`143
`144
`147
`153
`155
`158
`161
`166
`171
`176
`
`179
`179
`183
`187
`192
`207
`
`Table of Contents
`Preface .....................................................
` Contents of This Book ..........................................
` Related Books ................................................
` J2ME Programming Resources Online ................................
` Examples Online ..............................................
` Conventions Used in This Book ....................................
` Request for Comments ..........................................
` Acknowledgments .............................................
`I: Introduction to the Java 2 Micro Edition Platform API ..................
`1. Introduction ................................................
` 1.1 What Is the J2ME Platform? ....................................
` 1.2 J2ME Specifications .........................................
` 1.3 J2ME and Other Java Platforms ..................................
`2. The Connected Limited Device Configuration ........................
` 2.1 The CLDC Java Virtual Machine .................................
` 2.2 The CLDC Class Libraries .....................................
` 2.3 KVM Debugging ...........................................
` 2.4 Advanced KVM Topics .......................................
`3. The Mobile Information Device Profile and MIDlets ....................
` 3.1 MIDP Overview ............................................
` 3.2 The MIDP Java Platform ......................................
` 3.3 MIDlets and MIDlet Suites .....................................
` 3.4 MIDlet Execution Environment and Lifecycle ........................
` 3.5 Developing MIDlets .........................................
` 3.6 Delivery and Installation of MIDlets ..............................
`4. MIDlet User Interfaces ........................................
` 4.1 User Interface Overview ......................................
` 4.2 The High-Level User Interface API ...............................
`5. The Low-Level MIDlet User Interface API ...........................
` 5.1 The Canvas Class ...........................................
` 5.2 Painting and the Graphics Class ..................................
` 5.3 Graphics Attributes ..........................................
` 5.4 Drawing Lines and Arcs .......................................
` 5.5 Translating the Graphics Origin ..................................
` 5.6 A Simple Animation MIDlet ....................................
` 5.7 The Graphics Clip ...........................................
` 5.8 Rendering Text ............................................
` 5.9 Images ..................................................
` 5.10 Event Handling ...........................................
` 5.11 Multithreading and the User Interface .............................
`6. Wireless Java: Networking and Persistent Storage .....................
` 6.1 A Networking Architecture for Small Devices ........................
` 6.2 Sockets ..................................................
` 6.3 Datagrams ................................................
` 6.4 HTTP Connections ..........................................
` 6.5 Persistent Storage ...........................................
`
`Ericsson Ex. 2005, Page 3
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`227
`227
`
`239
`239
`244
`246
`250
`254
`258
`261
`264
`
`7. The Connected Device Configuration and Its Profiles ...................
` 7.1 The CDC ................................................
`8. J2ME Command-Line Tools .....................................
` 8.1 cvm: The Connected Device Configuration Virtual Machine ...............
` 8.2 kdp: The KVM Debug Proxy ...................................
` 8.3 kvm: The Kilobyte Virtual Machine ...............................
` 8.4 midp: The MID Profile Execution Environment .......................
` 8.5 emulator: The J2ME Wireless Toolkit Emulator .......................
` 8.6 preverify: The KVM Class Preverifier .............................
` 8.7 MakeMIDPApp: JAD to PRC Conversion Tool .......................
` 8.8 chMEKeyTool: Public Key Certificate Management Tool ................
`9. J2ME Programming Environments ................................
`267
` 9.1 The J2ME Wireless Toolkit ....................................
`267
` 9.2 MIDP for PalmOS ..........................................
`281
` 9.3 J2ME and Forte For Java ......................................
`291
` 9.4 Other Integrated Development Environments .........................
`296
`II: API Quick Reference ......................................... 298
`10. J2ME Packages and Classes ....................................
`308
` 10.1 J2ME Packages ...........................................
`308
` 10.2 J2SE Packages Not Present in J2ME ..............................
`309
` 10.3 J2ME Package Contents ......................................
`310
`11. java.io ...................................................
` Package java.io ...............................................
` ByteArrayInputStream ..........................................
` ByteArrayOutputStream .........................................
` DataInput ...................................................
` DataInputStream ..............................................
` DataOutput ..................................................
` DataOutputStream .............................................
` EOFException ...............................................
` InputStream .................................................
` InputStreamReader ............................................
` InterruptedIOException .........................................
` IOException .................................................
` OutputStream ................................................
` OutputStreamWriter ............................................
` PrintStream .................................................
` Reader .....................................................
` UnsupportedEncodingException ....................................
` UTFDataFormatException .......................................
` Writer .....................................................
`12. java.lang ..................................................
` Package java.lang .............................................
` ArithmeticException ...........................................
` ArrayIndexOutOfBoundsException ..................................
` ArrayStoreException ...........................................
` Boolean ....................................................
` Byte ......................................................
` Character ...................................................
` Class ......................................................
` ClassCastException ............................................
` ClassNotFoundException ........................................
`
`325
`325
`325
`327
`327
`328
`329
`330
`331
`332
`333
`334
`334
`335
`336
`337
`338
`339
`339
`339
`
`341
`341
`342
`343
`343
`343
`344
`345
`346
`347
`347
`
`Ericsson Ex. 2005, Page 4
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
` Error ......................................................
` Exception ...................................................
` IllegalAccessException ..........................................
` IllegalArgumentException ........................................
` IllegalMonitorStateException ......................................
` IllegalStateException ...........................................
` IllegalThreadStateException ......................................
` IndexOutOfBoundsException .....................................
` InstantiationException ..........................................
` Integer .....................................................
` InterruptedException ...........................................
` Long ......................................................
` Math ......................................................
` NegativeArraySizeException ......................................
` NullPointerException ...........................................
` NumberFormatException ........................................
` Object .....................................................
` OutOfMemoryError ............................................
` Runnable ...................................................
` Runtime ....................................................
` RuntimeException .............................................
` SecurityException .............................................
` Short ......................................................
` String .....................................................
` StringBuffer .................................................
` StringIndexOutOfBoundsException .................................
` System ....................................................
` Thread .....................................................
` Throwable ..................................................
` VirtualMachineError ...........................................
`13. java.util ..................................................
` Package java.util ..............................................
` Calendar ...................................................
` Date ......................................................
` EmptyStackException ..........................................
` Enumeration .................................................
` Hashtable ...................................................
` NoSuchElementException ........................................
` Random ....................................................
` Stack ......................................................
` Timer .....................................................
` TimerTask ..................................................
` TimeZone ..................................................
` Vector .....................................................
`14. javax.microedition.io .........................................
` Package javax.microedition.io .....................................
` Connection ..................................................
` ConnectionNotFoundException ....................................
` Connector ..................................................
` ContentConnection ............................................
` Datagram ...................................................
` DatagramConnection ...........................................
` HttpConnection ...............................................
` InputConnection ..............................................
` OutputConnection .............................................
` StreamConnection .............................................
`
`348
`348
`349
`349
`350
`350
`351
`351
`352
`352
`353
`354
`355
`355
`356
`356
`356
`358
`358
`359
`359
`360
`360
`361
`363
`365
`366
`367
`368
`369
`
`370
`370
`371
`373
`374
`374
`375
`376
`376
`377
`378
`379
`379
`380
`
`383
`383
`384
`385
`385
`387
`388
`389
`391
`393
`394
`394
`
`Ericsson Ex. 2005, Page 5
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
` StreamConnectionNotifier ........................................ 395
`15. javax.microedition.lcdui .......................................
`396
` Package javax.microedition.lcdui ...................................
`396
` Alert ......................................................
`398
` AlertType ..................................................
`399
` Canvas ....................................................
`400
` Choice .....................................................
`402
` ChoiceGroup ................................................
`404
` Command ..................................................
`405
` CommandListener .............................................
`407
` DateField ...................................................
`407
` Display ....................................................
`408
` Displayable .................................................
`409
` Font ......................................................
`410
` Form ......................................................
`412
` Gauge .....................................................
`413
` Graphics ...................................................
`414
` Image .....................................................
`417
` ImageItem ..................................................
`418
` Item ......................................................
`419
` ItemStateListener .............................................
`420
` List .......................................................
`421
` Screen .....................................................
`422
` StringItem ..................................................
`423
` TextBox ....................................................
`424
` TextField ...................................................
`424
` Ticker .....................................................
`427
`16. javax.microedition.midlet ......................................
` Package javax.microedition.midlet ..................................
` MIDlet ....................................................
` MIDletStateChangeException .....................................
`17. javax.microedition.rms ........................................
` Package javax.microedition.rms ....................................
` InvalidRecordIDException .......................................
` RecordComparator .............................................
` RecordEnumeration ............................................
` RecordFilter .................................................
` RecordListener ...............................................
` RecordStore .................................................
` RecordStoreException ..........................................
` RecordStoreFullException ........................................
` RecordStoreNotFoundException ...................................
` RecordStoreNotOpenException ....................................
`Class, Method, and Field Index ....................................
` A ........................................................
` B ........................................................
` C ........................................................
` D ........................................................
` E ........................................................
` F ........................................................
` G ........................................................
` H ........................................................
` I .........................................................
` J .........................................................
`
`432
`432
`432
`433
`434
`436
`437
`438
`441
`441
`442
`442
`
`428
`428
`428
`430
`
`443
`443
`445
`447
`451
`455
`458
`460
`471
`477
`483
`
`Ericsson Ex. 2005, Page 6
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
` K ........................................................
`483
` L ........................................................
`485
` M ........................................................
`487
` N ........................................................
`490
` O ........................................................
`492
` P ........................................................
`494
` R ........................................................
`497
` S ........................................................
`502
` T ........................................................
`512
` U ........................................................
`515
` V ........................................................
`516
` W ........................................................
`516
` Y ........................................................
`518
`Colophon .................................................... 519
`
`Ericsson Ex. 2005, Page 7
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Preface
` 2 Micro Edition (J2ME ). It is
`This book is a desktop quick reference for the Java
`intended for Java programmers writing applications for devices with limited memory
`resources and processor power, such as cell phones, Personal Data Assistants (PDAs), and
`set-top boxes. The first part of this book provides a fast-paced introduction to the two
`different configurations that make up the J2ME platform -- the Connected Limited Device
`Configuration (CLDC) and the Connected Device Configuration (CDC), along with
`the profiles that are based on them, such as the Mobile Information Device Profile (MIDP),
`which provides the APIs for programming cell phones and similar devices. These chapters are
`followed by a quick-reference section that details each class of the CLDC and MIDP APIs,
`along with tables that show which Java packages and classes are available in each
`configuration and profile.
`
`This book is intended to be used in conjunction with the best-selling Java in a Nutshell, by
`David Flanagan, and Java Enterprise in a Nutshell, by Jim Farley, David Flanagan, and
`William Crawford (both published by O'Reilly). Java in a Nutshell introduces the Java
`programming language itself and provides an API quick reference for the core packages and
`classes of the Java 2 Standard Edition (J2SE) platform. Java Enterprise in a Nutshell does
`the same for the APIs in the Java 2 Enterprise Edition (J2EE). The CDC and its profiles are
`actually large subsets of the J2SE API, and, therefore, this book does not replicate their API
`quick reference material, which you can find in Java in a Nutshell and, in the case of the RMI
`profile, in Java Enterprise in a Nutshell.
`
`Contents of This Book
`
`The first nine chapters of this book describe the J2ME platform, the command-line tools that
`are provided with Sun's J2ME reference implementations, and some of the visual
`development environments that you can use when writing J2ME applications:
`
`Chapter 1
`
`This chapter introduces the J2ME platform and the concepts of configuration and
`profile, and it compares J2ME to a number of other Java platforms for small devices.
`
`Chapter 2
`
`This chapter covers the Connected Limited Device Configuration (CLDC), which is
`the basic building block for the J2ME profiles for wireless devices and PDAs. It
`begins by outlining the differences between CLDC and the core libraries of the J2SE
`platform. Then it takes a close look at KVM, the small-footprint virtual machine that
`is used in Sun's reference implementation of CLDC.
`
`Chapter 3
`
`This chapter introduces MIDlets, the wireless Java equivalent of applets. MIDlets are
`part of the Mobile Information Device Profile (MIDP), which is the subject of this
`and the following three chapters. This chapter looks at the lifecycle of a MIDlet
`and illustrates it with a simple example. It concludes with a discussion of the facilities
`
`Ericsson Ex. 2005, Page 8
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`that a typical mobile device would provide to allow the user to download, install,
`manage, and remove MIDlets.
`
`Chapter 4
`
`The devices that MIDlets run on range from cell phones with a small two-color
`display and room for only a few lines of text to PDAs with larger, multicolor screens.
`In order to isolate MIDlets from the specifics of the devices on which they are
`running, MIDP includes a high-level API that provides simple input and output
`controls and the ability to combine these controls to create form-like screens. This
`chapter takes a detailed look at the high-level API and provides sample MIDlets that
`can be run on cell phones or PDAs.
`
`Chapter 5
`
`This chapter looks at an alternative user interface API that provides lower-level access
`to a mobile device's screen and input devices. This chapter looks at the details of this
`API and shows how to avoid writing code that may not be portable between devices
`with different user interface capabilities.
`
`Chapter 6
`
`Networking is a key feature of a mobile device. The first part of this chapter looks at
`the Generic Connection Framework (GCF), which provides the basis for access to
`various networking APIs, including optional protocols (such as sockets and
`datagrams) and HTTP, which all MIDP implementations are required to support. A
`simple example that involves fetching information from a web site is used to illustrate
`the use of HTTP on a mobile device and shows how to avoid problems that arise when
`working in an environment with limited memory. The second part of this chapter
`looks at the facilities available for storing information on a mobile device and
`illustrates them by extending the HTTP example to include persistence of information
`retrieved from the web site.
`
`Chapter 7
`
`This chapter looks at the Connected Device Configuration (CDC) and its profiles,
`which are designed for use on devices that have more than 2 MB of memory to devote
`to the Java platform. It begins by looking at Sun's reference implementation of CDC
`and the CVM, the virtual machine for CDC devices, then briefly covers the content of
`the CDC-based profiles that are currently defined.
`
`Chapter 8
`
`This chapter contains reference material for the command-line tools that are provided
`with the CLDC and CDC reference implementations and the MIDP for the PalmOS
`product.
`
`Ericsson Ex. 2005, Page 9
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Chapter 9
`
`This chapter covers the J2ME wireless toolkit, a development environment provided
`by Sun that allows you to create and test MIDlets using a cell-phone emulator that can
`be customized to resemble a number of different cell phones and PalmOS-based
`handhelds. It also looks at how to use the wireless toolkit in conjunction with Sun's
`Forte for Java IDE to create a complete development environment, and it investigates
`a number of alternative third-party products that provide similar functionality.
`
`These first nine chapters provide a tutorial introduction to J2ME, with particular emphasis on
`wireless devices, which are currently the most popular application of J2ME technology.
`The core of this book, however, is the API quick reference, Chapter 10 through Class,
`Method, and Field Index, which is a succinct but detailed API reference formatted for
`optimum ease of use. Please be sure to read "How To Use This Quick Reference," which
`appears at the beginning of the reference section; it explains how to get the most out of this
`section.
`
`Related Books
`
`O'Reilly & Associates, Inc., publishes an entire series of books on Java programming. These
`books include Java in a Nutshell and Java Enterprise in a Nutshell, which, as mentioned
`earlier, are companions to this book.
`
`You can find a complete list of Java books from O'Reilly at http://java.oreilly.com/. Books
`that are of particular interest to J2ME programmers include:
`
`Java in a Nutshell, by David Flanagan
`
`A Java language tutorial and complete API reference for the core Java classes. This
`book is of particular interest if you intend to work with the CDC-based profiles, since
`the APIs very closely match those of J2SE.
`
`Java Enterprise in a Nutshell, by Jim Farley and William Crawford, with David
`Flanagan
`
`A tutorial and API reference for Java's enterprise APIs, including Remote Method
`Invocation (RMI). This book will be of interest to you if you intend to use the RMI
`profile.
`
`Java Network Programming, by Elliotte Rusty Harold
`
`A book that describes the J2SE networking APIs.
`
`Java I/O, by Elliotte Rusty Harold
`
`A book that describes the input/output architecture of the Java platform, a proper
`understanding of which is essential if you intend to use the networking and persistent
`storage features of MIDP.
`
`Ericsson Ex. 2005, Page 10
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Java Threads, by Scott Oaks and Henry Wong
`
`A book that describes how to make use of Java's built-in multithreading features,
`which are also available in the J2ME platform.
`
`Learning Wireless Java, by Qusay Mahmoud
`
`An introduction to Wireless Java, this book also shows how to install MIDlets in some
`of the Java-enabled cell phones that are currently available.
`
`J2ME Programming Resources Online
`
`This book is a quick reference designed for speedy access to frequently needed information. It
`does not, and cannot, tell you everything you need to know about J2ME. In addition to
`the books listed earlier, there are several valuable (and free) electronic sources of information
`about J2ME.
`
`Sun's web site for all things related to Java is http://java.sun.com/. This web site includes
`home pages for many of the products that make up the J2ME platform, including
`the following:
`
`http://java.sun.com/j2me/
`
`General information on the J2ME platform
`
`http://java.sun.com/products/cldc/
`
`The CLDC specification and to download the reference implementation
`
`http://java.sun.com/products/midp/
`
`The MIDP specification
`
`http://java.sun.com/products/cdc/
`
`The specification and reference implementation of the CDC
`
`The following page is useful as a starting point for finding the latest documentation:
`
`http://java.sun.com/j2me/docs/
`
`The web site specifically for Java developers is http://developer.java.sun.com/. Much of the
`content on this developer site is password-protected, and access to it requires (free)
`registration. This site includes a forum for the K Virtual Machine (KVM), which also
`discusses wider issues related to wireless development and J2ME in general. Once you have
`registered, you can reach this forum at the following URL:
`
`http://forum.java.sun.com/forum.jsp?forum=50
`
`Ericsson Ex. 2005, Page 11
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Sun also has a web site dedicated to Wireless Java development:
`
`http://wireless.java.sun.com/
`
`There is also a mailing list for discussion of KVM and MIDP; you can subscribe to it or just
`browse the archives at:
`
`http://archives.java.sun.com/archives/kvm-interest.html
`
`Bill Day's J2ME site is very useful for up-to-date documentation and for links to other sources
`of J2ME-related information and development tools:
`
`http://www.billday.com/j2me/
`
`J2ME implementations currently do not have XML or cryptography support included. In
`many applications, one or both of these is vital. You can find an open-source XML product
`suitable for J2ME at http://www.kxml.org/ and an open-source, lightweight crytography
`product at http://www.bouncycastle.org/.
`
`Information on cell phones and PDAs that support J2ME can be obtained from:
`
`http://www.javamobiles.com/
`
`Examples Online
`
`The examples in this book are available online and can be downloaded from the home page
`for the book at http://www.oreilly.com/catalog/j2meanut/. You may also want to visit this site
`to see if any important notes or errata about the book have been published there.
`
`The example code is held in two separate directory structures, which contain exactly the same
`source code, but organized differently. The directory src has the source code arranged in
`a hierarchy that is convenient if you intend to build and run the examples using an integrated
`development environment such as Sun's Forte for Java. If, on the other hand, you plan to use
`the J2ME Wireless Toolkit, which expects its source files to be arranged differently, you
`should use the examples in the wtksrc directory. The J2ME Wireless Toolkit is available for
`free download from Sun's web site at http://java.sun.com/products/j2mewtoolkit/.
`
`Some of the descriptions of the examples in this book assume that you are using the J2ME
`Wireless Toolkit. You'll find information on how to use the example source code with the
`wireless toolkit in Chapter 3 and how to use it with Forte for Java in Chapter 9.
`
`Conventions Used in This Book
`
`The following font conventions are used in this book:
`
`Italic
`
`Used for emphasis and to signify the first use of a term. Italic is also used for
`commands, email addresses, URLs, FTP sites, file and directory names, and
`newsgroups.
`
`Ericsson Ex. 2005, Page 12
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Constant width
`
`Used in all Java code and generally for anything that you would type literally when
`programming, including keywords, data types, constants, method names, variables,
`class names, and interface names.
`
`Constant width italic
`
`Used for the names of function arguments and generally as a placeholder to indicate
`an item that should be replaced with an actual value in your program.
`
`Used to indicate a general note or tip.
`
`Used to indicate a warning.
`
`Request for Comments
`
`Please address comments and questions concerning this book to the publisher:
`
`O'Reilly & Associates, Inc.
`1005 Gravenstein Highway North
`Sebastopol, CA 95472
`(800) 998-9938 (in the United States or Canada)
`(707) 829-0515 (international/local)
`(707) 829-0104 (fax)
`
`There is a web page for this book, which lists errata, examples, or any additional information.
`You can access this page at:
`
`http://www.oreilly.com/catalog/j2meanut/
`
`To comment or ask technical questions about this book, send email to:
`
`bookquestions@oreilly.com
`
`For more information about books, conferences, Resource Centers, and the O'Reilly Network,
`see the O'Reilly web site at:
`
`http://www.oreilly.com/
`
`Acknowledgments
`
`This book is based on the style of the bestselling Java in a Nutshell, which is one of the two
`books that made it possible for me to make my living in the Java world. First and foremost,
`therefore, I would like to express my thanks to David Flanagan, the author of Java in a
`
`Ericsson Ex. 2005, Page 13
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Nutshell, both for his part in getting me started down this path and for his help and advice
`during the creation of reference material for J2ME in a Nutshell.
`
`Thanks are also due Mike Loukides and Bob Eckstein, who gave me the opportunity to write
`this book based on a very sketchy proposal and realize my longstanding ambition to write for
`O'Reilly. Bob was also this book's editor and provided excellent feedback on each chapter as
`it was completed. He and the rest of the O'Reilly production team, whose names appear in the
`colophon, also converted my final draft into the more polished form in which it now appears.
`Special thanks to Leanne Soylemez for arranging the production schedule to fit my holiday
`plans, to Robert Romano for making the diagrams in the book look like they were produced
`by a professional, and to the book's technical reviewers, Marc Loy (coauthor of O'Reilly's
`Java Swing, along with Bob Eckstein) and Tom Keihl, for their helpful and constructive
`comments.
`
`The final couple of chapters and the reference material for this book were completed over the
`Christmas and New Year 2000-2001 holiday period, when I should really have been spending
`more time with my family eating turkey and Christmas pudding and drinking the beer my son
`thoughtfully gave me as a present. Thanks to Berys, Andrew, and Katie for allowing me to
`retreat to my study for most of every day (and night) during that hectic period, and for
`allowing me to come out and rejoin the family when the book was finished!
`
`Ericsson Ex. 2005, Page 14
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Part I: Introduction to the Java 2 Micro Edition
`Platform API
`Part I is an introduction to the Java 2 Micro Edition platform. These chapters
`provide enough information for you to get started using the J2ME APIs right
`away.
`
`Ericsson Ex. 2005, Page 15
`TCL et al. v Ericsson
`IPR2015-01605
`
`
`
`J2ME in a Nutshell
`
`Chapter 1. Introduction
`This book is an introduction to and a quick reference for the Java 2 Micro Edition (J2ME)
`APIs. J2ME is a family of specifications that defines various downsized versions of the
`standard Java 2 platform;