Home
        - Oracle Documentation
         Contents
1.           The contents of the deployment directory can be run automatically if you specified a  valid player when you created the External BD J Platform     See Compiling  Deploying  and Running a Stubs for BD J Platform Project        Compiling  Deploying  and Running a  Stubs for BD J Platform Project    To deploy a project  see Creating a Stubs for BD J Platform Project   right click the  project and select Compile or Deploy  The default deployment location is           C  Documents and Settings User My Documents NJavaMESDKProjects   ApplicationNbuildNdeploy     To run the project  right click on the project name and select Run  If you have  ArcSoft TotalMedia Theatre installed  running the project launches the application in  TotalMediaTheatre  If you specified an alternate player when you created the  External BD J platform  the SDK will attempt to open the deployment directory with  that executable     When the directory is populated  use a player that supports BDMV to open the  deployment directory  for example  WinDVD  PowerDVD or TotalMedia Theatre      To create a valid playable disc  burn the deployment directory on a Blu ray disc  The  disc should play on a Blu ray player     Chapter 13 BD J Support 103    104 Java ME Platform SDK Help   April 2009    CHAPTER 14       CLDC Emulation on a Windows  Mobile Device       This procedure describes how to install Sun Java CLDC Emulation software on a real  device and make it available to the Java ME Platform SDK software 
2.          Note     This feature might slow the execution of your application        Continue to    m Saving Profiler Data   m Loading Profiler Data   m Viewing Profiler Data   m Saving Customized Snapshots and Images    m Loading a Customized Snapshot       Saving Profiler Data    Follow these steps to enable data collection   1  In the Device Selector window  right click on a device and choose Properties     2  Check the Enable Profiler option  and note the location of the profiler output file     81    82    You can also edit the device properties file to set profiler enabled to  true  The properties file is located in the device instance directory  as described  in  javame sdk 3 0 work  The device number corresponds to a device in the  device selector  as discussed in TABLE 8 1        Properties    Description   Color Screen  Touchscreen Enabled  Bit Depth  Configuration   APIs   Profile   Phone Number  Heapsize   Security Domain  Locale   Debug Port   Enable Profiler  Profiler File   Enable Network Monitor    Profiler File    ClamshellCldcPhone1    Clamshell CLDC emulator    16  CLDC 1 1   CLDC  CLDC  JSR82  WMA  MMAPI  J2ME WIS  MIDP 2 1   123456789       4MB          maximum                   51307    C  Documents and Settings Dawnijavame sdk    LJ    O       Note     It   s helpful to display the output window  If it   s not open  select Window  gt     Output  gt  Output        3  Start your application     Interact with your application as you normally would     4  In 
3.       Running PDAPDemo    PI       DAPDemo shows how to use the PIM and FileConnection APIs that are part of the       JSR 75 specification     Chapter 20 JSR 75  PDA Optional Packages 161    162    Browsing Files    To run the file browser  you ll need to give the MIDlet appropriate security  authorization  if you have not already done so  Right click on your project  choose  Properties  and select Specify the Security Domain  If necessary  select the maximum  domain and press OK     Now open and run the PDAPDemo project  Launch the FileBrowser MIDlet  You  see a directory listing  and you can browse through the available directories and  files  By default there is one directory  root1  This directory is located at   USER  HOME   javame sdk 3 0 work emulator instance   appdb filesystem ro  otl        Select the directory and press the View soft button to enter it     The directories photos and private are empty by default  You can add files and  root directories and they will be visible to the JSR 75 File API  See Chapter 20 for  more information   This demo shows a README and some JPEGs that were added  to the local photos directory      Java ME Platform SDK Help   April 2009    S photos        private        Using the Menu commands you can view a file or see its properties  Try selecting the  file and choosing Properties or View from the menu  Here we view README txt        perties  README txt  Test photos added by mel Location  root1 photas   Type  Regular File  WE m Modi
4.      Chapter 22 JSR 135  Mobile Media API Support     173    16g1 16g1 16g1 4 d1 16f1 16f1 16f1 4d1 16g1 16g1 16g1 16 d1   16 g1 16 g1 16 g1 16g1 16 d2 16 d2 16 d2 4c2 16g1 16g1 16g1   16d1 16 g1 16 g1 16 g1  16g1 16f2 16f2 16  f2 4a832   m Ericsson Composer  Beethoven   s Minuet in G   ab cb cb cb Cp daBp cgA  pfgagagagApbftftGpaerF  Beethoven s 9th symphony theme     fffh cthtasctasdcptf    f f t c d       f f    c   d  c    c   A fit f c   Ef   f   f f         d   d  m Siemens Composer Format  Inspector Gadget theme     C2 1 8  D2 1 16  Dis2 1 8  F2 1 16  G2 1 8           P 1 16  Dis2 1 8  P 1 16  Fis2 1 8  P 1 16    D2 1 8  P 1 16  F2 1 8  P 1 16  Dis2 1 8    P 1 16  C2 1 8  D2 1 16  Dis2 1 8  F2 1 16    G2 1 8  P 1 16  C3 1 8  P 1 16  B2 1 2  P 1 4   C2 1 8  D2 1 16  Dis2 1 8  F2 1 16  G2 1 8  P 1 16              Dis2 1 8  P 1 16  Fis2 1 8  P 1 16  D2 1 8  P 1 16   F2 1 8  P 1 16  Dis2 1 8  P 1 16  C3 1 8  B2 1 16                    Ais2 1 8  A2 1 16  Gis2 1 2  G2 1 8  P 1 16  C3 1 2   m Motorola Composer  Beethoven s 9th symphony   4 F2 F2 F2 C 4 D 2 D 2 D 2 CA R2 F2 F2 F2 C 2 F 2 F 2       F 2 F2 C  2 C  2 C  2 A 4 F2 F2 F2 C2 F 2 F 2 F 2 F2  D  2 D  2 D  2   m Panasonic Composer  Beethoven s 9th symphony   444   AAA   AAA   1111  A444   AAAA   AAAA   111   0   444   444   444   1111   4444   AAAA   4444    444   11   11   11   6666  444   444   444   111    4444   A444   AAAA   AAA   22   22   22      m Sony Composer    174 Java ME Platform SDK Help   April 2009    Be
5.     Device Information    In the Device Selector window  right click on a device node and select Device  Information  The Device Information tab in the Main window displays a picture of  the device and displays details  supported hardware capabilities  keyboard support   supported media formats  and the supported runtimes     Device Properties    In the Device Selector window  right click on the platform node and select  Properties  The device properties display in a separate window     If you have selected Window  gt  Properties  the Properties window is docked in the  SDK  Selecting any node causes its properties to be displayed     See Setting Device Properties        Setting Device Properties    In the Device Selector Window  right click on a device and select Properties  Any  properties shown in gray font cannot be changed  You can adjust the device  properties shown in black     Debug Port  The debugging port number  A default is supplied but it can be  changed     Chapter 6 Running Projects in the Emulator 67    Enable Profiler  Check this box to enable profiling  This is a CPU snapshot collected  during emulation  See Saving Profiler Data     If you want a profile of the Java Heap contents during the virtual machine execution   see Virtual Machine Memory Profiler  Java Heap Memory Observe Tool      Enable Network Monitor  Check this box to enable the network monitor     Phone Number  You can set the phone number to any appropriate sequence   considering country codes 
6.     This application displays a predefined URL  You can also enter a new URL   m Launch the HttpView application   m Select Menu    2 to get the contents of the URL     m Select Menu  gt  6 to view application instructions     PushExample    This application simulates a feed  As soon as you connect  you receive and display a  graphic  Select Done to continue     Running FPDemo    FPDemo is a simple floating point calculator   1  Enter a number in the first field     2  To choose an operator  highlight the drop down list and click to select  Cursor  down to highlight an operator  then click to make a selection     3  Enter a second value     4  Press the Calc soft button to calculate the result     Running Games    This application features three games  TilePuzzle  WormGame  and PushPuzzle     Java ME Platform SDK Help   April 2009    TilePuzzle  The desired result     Rate your mind pal    is shown first  From the soft  Menu  select 1  Start  The scrambled puzzle is displayed  The arrow keys move the  empty space  displacing tiles accordingly  From the menu you can Reset  or change  options     WormGame  From the soft Menu  select 1  Launch  Use the arrow keys to move the  worm to the green box without touching the edge of the window  Once the game is  launched  use the soft menu to change game options     PushPuzzle  Use the blue ball to push the orange boxes into the red squares in the  fewest number of moves     Running Network Demo    This demo has two MIDlets  Socket Dem
7.    CDC Java TM  Platform Micro Edition SDK 3 0     To ensure a successful import  you  can create a new platform and give it the legacy name     The following procedure allows you to import legacy CDC projects without  Reference errors  see Resolving Reference Problems      1  Select Tools  gt  Java Platforms  Select    CDC Java TM  Platform Micro Edition  SDK 3 0     and in the Classes tab  note the libraries required for the platform       Click Add Platform    and click Next     Select Java ME CDC Platform Emulator and click Next       On the Choose Platform page  select the SDK installation directory  Click Next     ao F WY N      On the Platform Name page  type    Sun Java Toolkit 1 0 for Connected Device  Configuration    in the Name field  In the Sources tab  add the following libraries   agui jar cdc 1 1 jar fp 1 0 jar  fp 1 1 jar pbp 1 1 jar and  secop 1 0 jar     Click Finish  and Close     See  Importing CDC Projects and Resolving Reference Problems     Choose Java ME MIDP Platform Folders    To see this page  select Tools    Java Platforms  and click the Add Platform button   Choose Java ME MIDP Platform Emulator and click Next  In the Platform Folders  panel you see the installation directory for the Java ME Platform SDK is detected  If  other platforms are installed on your system they can be detected and added to Java  ME Platform SDK     Chapter2 Java ME Platform SDK Features 11    12    1  To discover additional platforms  click Find More Java ME Platform Fol
8.    Note     If you can   t see the Project window choose Window  gt  Projects  To see  console output  select Window  gt  Output  gt  Output     19    20    Follow these steps to run a your own projects     1  Select File  gt  Open Project  and browse to select a project     The project is added to the Projects window     2  To run a project  right click the project and select Run from the context menu     To run the main project  which is shown in bold text in the Projects window    click the green Run button  To set a project as main  right click the project name  and select Set as Main Project     Pe ee BT E ODE    To run the project on a different device  choose the device in the Device Selector  window  Right click on a device and select Run Project from the context menu   Pull right to see a listing of suitable open projects  If the project you want is not  listed  select a different device       CLDC  Java TM  Micro Edition SDK 3 0    CHAPIDemo    DefaultCldc      Run Project via OTA p  Demos  DefaultCldc       UIDemo  peamca RUNJAR or JAD        METTZINMEM    Device Information    Ergo ra  ra  rm pra pr    DefaultCldc  DefaultCldc Properties  DefaultCldcPhone2    The device emulator window opens with the demo application running     3  As the sample project runs  you might need to press one of the soft keys below  the screen on the left or right side     You use soft keys to install or launch an application  open a menu  exit  or  perform some other action  Some demos
9.    SATMIDIlet    SATMIDlet demonstrates smart card communication with a slight variation on  APDU communication     To set up the simulated smart card  use cref  very much like you did for  APDUMID1et  This time you don t have to specify a port number  and the memory  image is different        1  Right click on the project  select Properties  and choose Running  Enable Regular  execution and check Specify the Security Domain  Choose maximum from the list     2  Start cref as follows     start bin cref  i apps SATSADemos sat eeprom    Note that the port number arguments  9025 and 9026 in this example  must match  the SATSA port numbers  Also  make sure you use the correct path to  sat eeprom     Chapter 24 JSR 177  Smart Card Security  SATSA  193    3  Once you have the smart card simulator running  run SATSADemos  Select  SATMIDlIet  select the Menu soft key and select Launch  1   Press Go when  prompted     CryptoMIDlet    CryptoMIDlet demonstrates the general cryptographic features of SATSA  It does  not interact with a smart card in any way  Choose the MIDLet and launch it to see  the cryptography results  Use the up and down navigation keys to scroll the display        MohairMIDlet    MohairMIDlet has two functions  The first   Find slots   displays all the available  card slots  Each slot has a number followed by  C  or  H  indicating whether the slot  is cold swappable or hot swappable  After viewing the slots select Back to return to  the first screen        The second
10.    jeme bits per  pixel 16   jame bits per pixel 16   jeme http ltrue  j2me_https true  j2me_socket true             See Filtering the WURFL Search     74 Java ME Platform SDK Help   April 2009       Filtering the WURFL Search    As discussed in Searching for Devices  you can use the filter to set search constraints   You should set at least one constraint     Supported Properties    This utility searches on a predefined list of constraints that have corresponding  properties in the Java ME Platform SDK     Supported APIs    You can check the APIs you want  Note  checking an API does not exclude APIs  that are not checked     a MIDP 1 0  MIDP 2 0   a CLDC 1 0  CLDC 1 1   a MMAPI 1 0  MMAPI 1 1   a WMAPI 1 0  WMAPI 1 1  WMAPI 2 0   a Bluetooth API   a 3D API      Localization API   Vendor   Device   Resolution Width Height   The device resolution    Maximum Image Width Height   The maximum image size that the device can display   Physical Memory Size   The built in memory size    Heap Size   Memory limit in bytes at runtime    Number of Colors   The number or colors the device   s display supports   Supports Wi Fi   Supported Image Formats   Check the image type  Unchecked types might still be supported   a bmp    Chapter 7 Searching the WURFL Device Database 75      jpeg    gif    To see the full list of WURFL contstraints  go to   http   wurfl sourceforge net help doc php     See also Searching for Devices     76 Java ME Platform SDK Help   April 2009    CHAPTER 8       Find
11.   23     24     25     Media Capture 172  MMAPI MIDlet Behavior 173  Ring Tones 173  Download Ring Tones 173  Ring Tone Formats 173  Running the MMAPI Sample Project 175  Running AudioDemo 175  Running MMAPIDemos 176    Running the Multimedia Sample Project 180    JSR 172  Web Services Support 181   Generating Stub Files from WSDL Descriptors 181  Creating a New Mobile Web Service Client 182  Running JSR172Demo 183    JSR 177  Smart Card Security  SATSA  185  Card Slots in the Emulator 186  Java Card Platform Simulator  cref  186  Adjusting Access Control 187  Specifying PIN Properties 187  Specifying Application Permissions 188  Access Control File Example 190  Running SATSADemos 192  APDUMIDlet 193  SATMIDlet 193  CryptoMIDlet 194  MohairMIDlet 194  Running SATSAJCRMIDemo 195    JSR 179  Location API Support 197    26     27     28     Setting the Emulator   s Location at Runtime 197    Running the CityGuide Sample Project 199    JSRs 184  226  and 239  Graphics Capabilities 203  Mobile 3D Graphics  JSR 184  204   Choosing a Graphics Mode 204   Quality Versus Speed 205   Content for Mobile 3D Graphics 205   Running Demo3D Samples 206  Java Bindings for OpenGL ES  JSR 239  207  Scalable 2D Vector Graphics  JSR 226  207   Running SVGDemo 208   Running SVGContactList 213    JSR 205  Wireless Messaging API  WMA  Support 215  Using the WMA Console to Send and Receive Messages 215   Launching the WMA Console 215   WMA Console Interface 216   Emulator Phone Numbers   217   Sending
12.   Aubrey Read  Betty Archdale  Betty Edwards       Press the select button to see more information for the highlighted name      Arthur Warner     email  Arthur Warner example co  cell phone    441 162 74 57  work phone    404 332 70 61   home phone   201 23112 44   address   435 Cupertino Avenue  70155 San Francisco  USA       Chapter 26 JSRs 184  226  and 239  Graphics Capabilities 213    Press select again to return to the contact list     214 Java ME Platform SDK Help   April 2009    CHAPTER 27       JSR 205  Wireless Messaging API   WMA  Support       The Java ME Platform SDK supports the Wireless Messaging API  WMA  with a  sophisticated simulation environment  WMA 1 1  JSR 120  enables MIDlets to send  and receive Short Message Service  SMS  or Cell Broadcast Service  CBS  messages   WMA 2 0  JSR 205  includes support for MMS messages as well     This chapter describes the tools you can use to develop WMA applications  It begins  by showing how to configure the emulator s support of WMA  Next  it describes the  WMA console  a tool for testing WMA applications     Many of the tasks in this topic can also be accomplished from the command line  See  Running WMA Tool        Using the WMA Console to Send and  Receive Messages    The WMA console is a tool that enables you to send messages to and receive  messages from applications that use JSRs 120 or 205  You can  for example  use the  WMA console to send SMS messages to a MIDlet running on the emulator     See Launching th
13.   CDC  43  Platform Selection  CDC  44  Specify CDC Toolkit Project 44  Working With Projects 44  Viewing Project Files 45  Creating a New MIDlet 46  Importing MIDP Projects 47    Importing CDC Projects 47  Adding Files to a Project 48  Find in Files 48    Viewing and Editing Project Properties 51  Viewing General Project Properties 52  Selecting a Platform 52  Editing Application Descriptor Properties 53  CDC Attributes 53  MIDP Attributes 53  MIDlets 54  Push Registry 56  API Permissions 57  Building a Project 57  Configuring Ant 58  Compiling 59  Adding Libraries and Resources 59  Creating JAR and JAD Files  Packaging  60  Obfuscating 60  Signing 60  Exporting a Key 61  Running Settings 62  Running a MIDP Project 62  Running a CDC Project 62    Running Projects in the Emulator 65   Understanding the Emulator 65   Viewing Device Properties 66  Platform Properties 67    Device Information 67    10     Device Properties 67  Setting Device Properties 68  Running a Project from the Device Selector 68  Running Projects Simultaneously on a Single Device 69  Emulator Options 70  Adding a Device Instance 71    Searching the WURFL Device Database 73  Searching for Devices 73    Filtering the WURFL Search 75    Finding Files in the Multiple User Environment 77  Switching Users 77  Installation Directories 78  User Directories 79   javame sdk 79   javame sdk 3 0 work 80   javame sdk toolbar 3 0 80     JavaMESDKProjects 80       Profiling Applications 81   Saving Profiler Data 81   Loa
14.   The path to the directory where the emulator platform is installed   You can enter a path  or use the Browse button to navigate to the directory     Platform Name  A name for the emulator platform     Device Name  A name for the specific device the platform emulates     Java ME Platform SDK Help   April 2009    Preverify Command  The command line syntax that invokes the preverify  application to preverify a MIDlet  MIDlet class files must be preverified before they  can be run on a device or emulator  The toolkit silently handles preverification  during the build process  See the CLDC specification for more information on  preverification     Execution Command  The command line syntax that invokes the emulator to  execute a MIDlet     Debugger Command  The command line syntax that invokes the emulator to debug  a MIDlet     To see descriptions of the command line syntax parameters  click in the appropriate  field  The description is displayed in the area below the debugger command  Click  Next when you are finished     See Running the Emulator From the Command Line     Bootstrap Libraries    Based on the General Information you entered  the wizard detects the libraries and  APIs the platform or emulator uses  To add libraries  click the Browse button and  choose a library file  Click Next when you are finished     Sources  amp  Javadoc    Given the files and libraries you have chosen to this point  the wizard detects  libraries and APIs  To add additional source files or Ja
15.   as  explained in Running the Emulator From the Command Line        Running Projects Simultaneously on a  Single Device    MSA compliant devices are capable of running multiple virtual machines  You can  test this behavior in the emulator  Be sure the output window is visible in the SDK   select Window    Output    Output   To test this feature  follow these steps     1  Open the sample projects Games and AudioDemo     2  In the device selector  choose an MSA compliant device and run Games  When  the emulator launches run AudioDemo on the same device     As each MIDlet loads  the AMS automatically launches it     3  In AudioDemo  launch the Audio Player  and play the JavaOne theme     Select AudioPlayer  then from the soft menu  select 1  Launch  Select JavaOne  Theme and press the Play soft button     4  In the emulator  choose Application    AMS Home  or press F4     Select SunSamples   Games  From the soft menu  select 1  Open  The music  continues to play while you are able to simultaneously launch and play games     5  Select Application    AMS Home  or press F4  Highlight AudioSamples  and from  the soft menu  select 2  Bring to foreground  Press the Pause soft key  The music  stops playing     Chapter 6 Running Projects in the Emulator 69    6  Select Application  gt  AMS Home  or press F4  Highlight AudioSamples and from  the soft menu  select 1  Open  Select Bouncing Ball from the list and from the soft  menu  select 1  Launch  Select MIDI background and press the P
16.   in the Projects view  right click  a project  select Properties  and select Platform     These settings help you test how your project runs on devices with different  capabilities  Your choice of device limits your choice of Device Configuration and  Device Profile     Java Platform  A choice of CDC or Stubs for BD J Platform  Stubs for BD J Platform  is a special type of CDC platform     Device  Select a device  Only devices appropriate for the platform appear in the  Device drop down menu  The device selection determines the remaining options     Profile  PBP 1 1 is the only option     See Creating a CDC Project and Creating a Stubs for BD J Platform Project     Specify CDC Toolkit Project    To see this form  start the New Project wizard and select Import CDC Toolkit Project   Project Location  Browse to select the location of your legacy CDC Toolkit project     See Importing CDC Projects     Working With Projects    The logical view of the project  shown in the Projects window  provides a hierarchy  of sources and resources  Right click on the project node to see actions related to the  project     New  Opens a form to build a new object for the current project  The new object is  placed in the project   s file structure by default  but you can control the file name and  location  The possible objects are dependent on the currently selected project  For  example  if the project is CLDC  the options are MIDlet  Java class  Java package  or  Java interface  Selecting New 
17.   information is part of the Application Descriptor  To view it  right click on the  WMA Demo project and select properties  In the properties window  select the  Application Description category and view the Push Registry tab     For example  to send an MMS message from the WMA console to the emulator   make sure that WMADemo has been installed using Run via OTA     1     2     Launch the demo and choose MMS Receive     In the WMA console  click on Send MMS to open the MMS composition window   Fill in a message subject  the application ID example  mms MMSDemo  and the  telephone number of the running emulator       Click on the Parts tab  The WMA console allows you to select files from your hard    disk to send as parts of the MMS message  Click Add to add a file to the message   Use the file browser to find the file you want to send and click OK       Click on Send to send the message     The image and its information are displayed     Chapter 27 JSR 205  Wireless Messaging API  WMA  Support 219    220 Java ME Platform SDK Help   April 2009    CHAPTER 28       JSR 211  Content Handler API   CHAPI        JSR 211 defines the Content Handler API  CHAPI   The basic concept idea is that  MIDlets can be launched in response to incoming content  files   Modern mobile  phones can receive content using SMS  infrared  Bluetooth  e mail  and other  methods  Most content has an associated content type  CHAPI specifies a system by  which MIDlets can be launched in response to specific t
18.   storage name   storage number     Run a previously installed application  The application is specified by its valid  storage name or storage number     remove   storage mame   storage number   all     Remove a previously installed application  The application is identified by its  valid storage name or storage number  If a11 is supplied  all previously installed  applications are removed     m transient jad file url    Install  run  and remove the application with the specified JAD file  Specifying  transient causes the application to be installed and run and then removed  three times     This example includes OTA installation   emulator exe  Xjam install http   www myseroer com   apps   My App jad     Xdevice DefaultCldcMsaPhone2    Chapter 17 Command Line Reference 135    136    The above command returns the ID of the installed application  Once you obtain the  ID you can run it with  emulator exe Xjam run ID    See also Running the Emulator From the Command Line  CDC Options  and  Debugging and Tracing Options     CDC Options    The following options apply to CDC projects   m  Xmsn    Specifies the initial size n  in bytes  of the memory allocation pool  or heap size   This value must be a multiple of 1024 greater than 1 megabyte  Append the letter  k or K to indicate Kilobytes or m or M to indicate megabytes  The default value is  64 megabytes  64M      m  Xmxn    Specifies the maximum size n  in bytes  of the memory allocation pool  or heap  size  This value must be a 
19.  A tool for managing JSR 238 resource bundles  An  equivalent tool exists in the Java ME Platform SDK user interface     runBDJ  Run a BD J project in a player        wma  tool  A command line tool for sending and receiving SMS  CBS  and  MMS messages  See Running WMA Tool     wscompile  Compiles of stubs and skeletons for JSR 172  See Generating Stubs   wscompile      Java ME Platform SDK Help   April 2009    m docs  Release documentation   m lib  JSR JAR files for compilation   m on device  Windows Mobile Java Runtime for ARM     m toolbar  A simple development environment        User Directories    At installation time you are prompted to specify a location for user files  The default  location is     C  Documents and Settings userNljavame sdk    If you do not remember the location you specified  select Help    About in the main  window  This documentation sometimes uses users home to represent this path     You cannot choose another location after the installation  If you desire a different  directory  you must reinstall     The user directories are   javame sdk   javame sdk 3 0 work  and   javame sdk toolbar 3 0      javame sdk    This directory contains device instances and session information  If you delete this  directory  it will be recreated automatically when the device manager is restarted     Chapter 8 Finding Files in the Multiple User Environment 79     javame sdk 3 0 work    The work directory contains device instances in directories 0 11  Each instance has   
20.  APTITUDE A UNE UTILISATION PARTICULIERE OU A  L ABSENCE DE CONTREFA  ON     s e CA    Adobe PostScript    4   Sun    Contents    1  Getting Started 1  Quick Start 1  Tips for Legacy Toolkit Users 2    2  Java ME Platform SDK Features 5  Emulation Platforms 5  CLDC and MIDP Stack 6  CDC Stack 6  BD J Stack 7  JavaFX Platform 7  Managing Java Platforms 8  J2SE and CDC Platforms 9  J2ME Platforms  CLDC and MIDP  9  Adding a Java Platform 9  Selecting a Platform Type 10  Choose Platform Folder and Name  Java SE and CDC  10  Choose Location  JavaSE and CDC  11  Create a Platform for Legacy CDC Projects 11  Choose Java ME MIDP Platform Folders 11  Choose Custom Java ME MIDP Platform Emulator 12  Support for Third Party Emulators and Real Devices 13  Automatic Update 14  Using the Plugins Manager 14  Installing a Plugin Globally 16    3  Using Sample Projects 19    Running a Project 19    mesdk feedback sun com    microsystems    Troubleshooting 21  Sample Project Overview 21  Configuring the Web Browser and Proxy Settings 24  Resolving Reference Problems 24  Running MIDP and CLDC Sample Projects 25  Running the Demos Sample Project 26  Running FPDemo 32  Running Games 32  Running Network Demo 33  Running PhotoAlbum 34  Running UIDemo 34    Creating and Editing Projects 37  About Projects 38  CLDC Projects 38  CDC Projects 39  Creating a CLDC Project 40  Choose Project 40  Name and Location 41  Platform Selection 41  Specify WTK Project 42  Creating a CDC Project 42  Choose Project
21.  Create from File      Choose the file from which the font resource will be created  You can edit the  font s name  boldness  the size of the font  and whether or not antialiasing is used     Localization  Choose the main localization bundle  for example   foobar properties  This main bundle is then added with a  default  ID  Other  locales are added with their proper ID  For example    foobar en GB properties  is added with the ID en_GB  Unfortunately this resource must be recreated in the  resource manager when more locales are added  or removed      Theme  Adds the  conf theme file  See the Lightweight UI Toolkit Developer s  Guide     Java ME Platform SDK Help   April 2009    CHAPTER 12       Security and MIDlet Signing       The Java ME Platform SDK supports the security policies and domains defined by  both JSR 185  Java Technology for the Wireless Industry or JTWI  and JSR 248   Mobile Service Architecture or MSA   The SDK provides tools to sign MIDlet suites   manage keys  and manage root certificates  The security domains are further  described in Security Domains     MIDP 2 0  JSR 118  includes a comprehensive security model based on protection  domains  MIDlet suites are installed into a protection domain that determines access  to protected functions  The MIDP 2 0 specification also includes a recommended  practice for using public key cryptography to verify and authenticate MIDlet suites     The general process to create a cryptographically signed MIDlet suite is
22.  Finish     A simple BD J hello World project is created     101    102    4  To set BD J preferences and permissions  right click on the project and choose  Properties  In the Category area select Application Descriptor  Click the BD J tab  on the right     The properties in this window are used to create a Permission Request File  PRF    This is an XML file and its format is controlled by Blu ray disc specifications   Typically permissions apply to signed applications  Unsigned applications are not  allowed access     Application ID is a required value  The default is generally acceptable  This  value is a 16 bit hexadecimal string  The recommended range is 0x0000 to  Ox3FFF for unsigned applications  and 0x4000 to Ox7FFF for signed  applications     Organization ID is a required value  The default is generally acceptable  but it  can be changed  This value is a 32 bit hexadecimal string  The recommended  range is 0x7FFF0001 to Ox7FFFFFFF     The SDK uses the Service Access  User Settings and Preferences  and Network  Permissions values to create a permissions file     File Access   Allows a signed application to access persistent storage     Lifecycle Control   Allows an application to control the lifecycle  stop  pause   or resume  of any application that it has launched  It cannot affect applications  it has not launched     Service Selection   Allows a signed application to select a new service   assuming other permissions also permit the selection      User Settings an
23.  Float and double  become String     Sets the CLDC version to 1 1  float and double are OK     Shows all CLDC 1 0 information and warning messages        Note     Exactly one  gen option must be specified  The  f option requires a  comma separated list of features        TABLE 17 2 lists the features  delimited by commas  that can follow the     option   The wscompile tool reads a WSDL file  compiled service endpoint interface  SEI   or  model file as input  The Type of File column indicates which of these files can be  used with a particular feature     TABLE 17 2 Command Supported Features       for wscompile          Option Description Type of File  explicitcontext Turns on explicit service context mapping WSDL  nodatabinding Turns off data binding for literal encoding WSDL  noencodedtypes Turns off encoding type information WSDL  SEI  model  nomultirefs Turns off support for multiple references WSDL  SEI  model  novalidation Turns off full validation of imported WSDL WSDL  documents  searchschema Searches schema aggressively for subtypes WSDL       Java ME Platform SDK Help   April 2009    TABLE 17 2 Command Supported Features       for wscompile  Continued              Option Description Type of File   serializeinterfaces Turns on direct serialization of interface WSDL  SEI  model  types   wsi Enables WSI Basic Profile features  default  WSDL   resolveidref Resolves xsd  IDREF WSDL   nounwrap No unwrap  WSDL   Examples       wscompile  gen  d generated config xml  wscomp
24.  From the Command Line 133  MIDlet Options 134  CDC Options 136  Debugging and Tracing Options 136  Building a Project from the Command Line 137  Checking Prerequisites 138  Compiling Class Files 138  Preverifying Class Files 138  Packaging a MIDLet Suite JAR and JAD  139  Command Line Security Features 140  Changing the Emulator   s Default Protection Domain 141  Signing MIDlet Suites  jadtool exe  141  Managing Certificates  MEKeyTool  142  Generating Stubs  wscompile  143  Running the Payment Console From the Command Line 145  Virtual Machine Memory Profiler  Java Heap Memory Observe Tool  145  Running the Java Heap Memory Observe Tool 146  Viewing the Heap Snapshot 147  Running WMA Tool 147  smsreceive 148  cbsreceive 148  mmsreceive 148    smssend 150    18     19     20     21     22     cbssend 150    mmssend 150    Logs 153  Java ME Platform SDK GUI Logs 153  Device Manager Logs 153    Device Instance Logs 154    JSR Support 155  JCP APIs 156    JSR 75  PDA Optional Packages 159  FileConnection API 159  PIM API 161  Running PDAPDemo 161  Browsing Files 162  The PIM API 164    JSR 82  Bluetooth and OBEX Support 167   Bluetooth Simulation Environment 167   OBEX Over Infrared 168   Setting Bluetooth and OBEX Preferences 168  OBEX Preferences 168  Bluetooth Internal Properties 168  Bluetooth System Properties 169  Bluetooth BCC Properties 169   Running the Bluetooth Demo 170    JSR 135  Mobile Media API Support 171  Media Types 172  Adaptive Multi Rate  AMR  Content 172  
25.  If you created a project using the CDC Toolkit  you can import your applications into  Java ME SDK projects  You can also use import to create a project based upon a  sample project        Note     Standalone projects created in the CDC Toolkit can be imported  Xlets cannot  be imported        Chapter 4 Creating and Editing Projects 47    1  The CDC platform name for the Java ME Platform SDK version 3 0 does not  match the legacy platform name in the CDC Toolkit 1 0 and the CDC Mobility  Pack  Consequently  you get a reference error when you import a legacy CDC  project  To avoid this error  create a platform with the legacy name  as described  in Create a Platform for Legacy CDC Projects     You only need to do this once   2  Select File  gt  New Project   3  In the Projects area select the import action for CDC Toolkit  Click Next     4  Browse to select the project location     The wizard detects any applications in the legacy installation and displays their  locations on disk  Select a project and click Next     5  Supply the Project Name  Location  and Folder for the new project  Note  the  default name project name and folder name are based on the name of the project  you are importing  Click Finish     The imported project opens in the Projects window     See also  Create a Platform for Legacy CDC Projects  Viewing Project Files       Adding Files to a Project    For all projects  right click to use the context menu to add files to a project  Using  this method places
26.  Network Monitor  Sorting Messages  Saving and Loading  Network Monitor Information  Clearing the Message Tree    Sorting Messages    To arrange the message tree in a particular order  click on the Sort By combo box and  choose a criteria     Time  Messages are sorted in chronological order of time sent or received     URL  Messages are sorted by URL address  Multiple messages with the same  address are sorted by time     Connection  Messages are sorted by communication connection  Messages using the  same connection are sorted by time  This sort type enables you to see messages  grouped by requests and their associated responses        Note     Sorting parameters are dependent on the message protocol you choose  For  instance  sorting by time is not relevant for socket messages        See also  Using the Network Monitor  Filtering Messages  Saving and Loading  Network Monitor Information  Clearing the Message Tree    Chapter 10 Monitoring Network Traffic 89    90    Saving and Loading Network Monitor  Information    To save your network monitor session  click the disk icon in the Network Monitor  toolbar     Choose a file name  This file name will be used for all the network monitor saves  you make in this Java ME SDK session  The default directory is C   Documents and  Settings User My Documents  and the default file extension is   nmd  network monitor data         To load a network monitor session  choose Tools    Load Network Monitor  Snapshot    and browse to the data yo
27.  a Text SMS Message 217   Sending a Binary SMS Message 217   Sending Text or Binary CBS Messages 217   Sending MMS Messages 217   Receiving Messages in the WMA Console 218  Running WMADemo 218    JSR 211  Content Handler API  CHAPI  221  Using Content Handlers 221  Defining Content Handler Properties 222  Defining Content Handler Actions 224    29     30     31     Running the CHAPIDemo Content Browser 225    JSR 238  Mobile Internationalization API  MIA  227  Setting the Emulator   s Locale 227  Using the Resource Manager 228  Working With Locales 228  Working With Resource Files 228  Running il8nDemo 229    JSR 229  Payment API Support 233  Running the Payment Console 233  Running JBricks 234    JSR 256  Mobile Sensor API Support 237   Creating a Mobile Sensor Project 237   Using a Mobile Sensor Project 238   Creating a Sensor Script File 239   Running the Sensors Sample Project 239  SensorBrowser 240    Marbles 240    Index 243    CHAPTER 1       Getting Started       The Java    Platform Micro Edition Software Development Kit is a natural starting  point for learning and using Java ME technology  The focus of this user interface is  emulation and deployment  Using this simple yet powerful tool you can create  edit   compile  package  and sign an application  After testing your application in the Java  ME Platform SDK emulation environment  you can move to deploying and  debugging on a real device     This SDK provides supporting tools and sample implementations for the la
28.  area codes  and so forth  If you reset this value  the  setting applies to future instances     The number is a base value for the selected device  If the emulator is running and  another emulator is opened  the phone number for the second instance is  incremented by one     Heapsize  The heap is the memory allocated on a device to store your applications   s  objects  The Heapsize property is the maximum heap size for the emulator  You can  choose a new maximum size from the dropdown menu     Security Domain  Select a security setting from the dropdown menu  See Security  Domains  Applies to CLDC and JavaFX platforms     Locale  Type in the locale as defined in the MIDP 2 0 specification   http    jcp org en jsr detail id 118       68    Running a Project from the Device  Selector    The SDK determines which open projects are suitable for a device  Right click on the  device and select a project from the context menu  If projects are not suitable they  are displayed in gray font     Java ME Platform SDK Help   April 2009       Device Selector  H CDC  Java TM  Micro Edition SDK 3 0  5 CLDC  Java TM  Micro Edition SDK 3 0              ClamshellCldcPhe          DefaultCidcJt ili al sails  DefaukCldcxwig RUN Project via OTA    MMAPIDemos  DefaulkCldcMsar RUN JAR or JAD      DefaulcldeMsar Device Information   DefaultCldcPhon Properties   DefaultCldcPhona amp z       JavaFX  Java TM  Micro Edition SDK 3 0    You can also launch the emulator to run a project from the command line
29.  as follows     1  The MIDlet author  probably a software company  buys a signing key pair from a  certificate authority  the CA      2  The author signs the MIDlet suite with the signing key pair and distributes their  certificate with the MIDlet suite     3  When the MIDlet suite is installed on the emulator or on a device  the  implementation verifies the author   s certificate using its own copy of the CA   s  root certificate  Then it uses the author   s certificate to verify the signature on the  MIDlet suite     4  After verification  the device or emulator installs the MIDlet suite into the  security domain that is associated with the CA   s root certificate     For definitive information  consult the MIDP 2 0 specification  For an overview of  MIDlet signing using the Java ME Platform SDK  read the article Understanding  MIDP 2 0 s Security Architecture  which is available at   http    developers sun com techtopics mobility midp articles perm  issions     93    If you need more background on public key cryptography  try the article MIDP  Application Security 1  Design Concerns and Cryptography  which is available at   http    developers sun com techtopics mobility midp articles secu  rityl  See the following topics     m Security Domains   m Setting Security Domains   m Signing a Project   m Managing Keystores and Key Pairs    mw Managing Root Certificates       94    Security Domains    The SDK supports five security domains for MSA     unidentified third party  Pro
30.  b  Click OK     120 Java ME Platform SDK Help   April 2009             Emulator Properties 2  xi    General   Display   Network   Peripherals    QS image name   C  CrossbowSDk private sdk build 17740 wpc 0409 DeviceEmulation 0409 PPC_USA_GSM_  El       Specify ROM image address  Jv  Specify RAM size       128    Flash memory Filer    fe      Host key  Funckey    Right Alt b     193  Shared folder     C  Java_ME_SDK_3 0 on device winmobile arm       OK   Cancel      7  Run File Explorer on the emulator     a  Open Start menu     b  Click Programs     Chapter 15 Installing CLDC Emulation on a Windows Mobile Emulator 121        c am     amp  Today oe 7 41 PM     Office Mobile    E3  Calendar    FB Contacts information  FK Internet Explorer       e Messaging    Phone    Recent Programs    m Programs    fey Settings  2    7  Help      Notification ii Contacts    c  Click File Explorer     122 Java ME Platform SDK Help   April 2009           c Calculator    I    mess Internet Messenger       Games Acti       Sharing  pr   Motes Pictures  amp  Search  Videos  v  e  SimTkUI Tasks Windows       8  Start the Sun Java CLDC Emulation CAB file installation   a  Open Show menu     b  Select Storage Card     Chapter 15 Installing CLDC Emulation on a Windows Mobile Emulator    File Explorer    My Device     My Documents    Storage Card    LJ Personal   J Templates       c  Click on the sun java cldc emu cab file     124 Java ME Platform SDK Help   April 2009    File Explorer    udi Storage 
31.  both text and images  used by MicroLexicon  appear  You  can edit the resources and run MicroLexicon again to see what happens        Java ME Platform SDK Help   April 2009    Start Page x     SR Main java x  sP H8M Ii8nDemo x  E a qu resource  D  mE MicroLexicon lets you easil     t  cec    de DE MicroLexicon  amp  co   en  Choose language    es ES Choose phrase    he IL Translated phrase  it IT    ja JP oi  H Wa phrases 02  H  E sk sk 103  GG zh CN iM    _       fl Ww  hm      oOo    ni                                 chinese  japanese    german       italian             To practice creating and editing resources  see Working With Resource Files     The resources are stored in the project   s JAR file     Chapter 29 JSR 238  Mobile Internationalization API  MIA  231    232 Java ME Platform SDK Help   April 2009    CHAPTER 30       JSR 229  Payment API Support       JSR 229  the Payment API  enables applications to make payments on behalf of their  users  The Payment API supports different payment mechanisms through payment  adapters  A device that implements the Payment API has one or more adapters   MIDlet suites use descriptor attributes to specify what types of payment adapters  they can use     The Java ME SDK implements the Payment API with a sample payment adapter that  simulates both Premium Priced SMS  PPSMS  and credit card payments  In addition   the SDK makes it easy to set the necessary attributes in the MIDlet s descriptor and  JAR file manifest  Finally  a pa
32.  capture audio and video     Java ME Platform SDK Help   April 2009       MMAPI MIDlet Behavior    MIDlets have a lifecycle that is defined in the MIDP specification  MIDlets can be  paused by events such as incoming phone calls  A well behaved MIDlet releases  important device resources when it is paused and reallocates or restarts those  resources when the MIDlet is resumed  In the MMAPI arena  stop any Players that  are rendering content when a MIDlet is paused     The Java ME Platform SDK prints a message to the console if you pause a MIDlet  and it does not stop its running Players  You can test this feature using the Pausing  Audio Test MIDlet in the MobileMediaAPI demonstration application     The warning message is printed only once for each running emulator        Ring Tones    MMAPI can be used to play ring tones  as demonstrated in Simple Tones and Simple  Player  The ring tone formats mentioned here are in common use  You can download  ring tones or create your own     Download Ring Tones    Ring tone files can be downloaded from many internet sites  including the following   m http   www surgeryofsound co uk   m http   www convertyourtone com     m http   www filmfind tv ringtones     Ring Tone Formats    This section provides samples of several formats   m RTTTL  the Ringing Tones text transfer language format  is explained at  http   www convertyourtone com rtttl html   m Nokia Composer    This is a rendition of Beethoven s 9th symphony in Nokia Composer format
33.  command is in your path  To find the version of the development kit   run the jar command and then run java  version at the command line     Compiling Class Files    Use the javac compiler from the Java SE development kit to compile Java source  files  You can use the existing Java ME Platform SDK project directory structure  Use  the  bootclasspath option to tell the compiler to use the MIDP APIs  and use the   d option to tell the compiler where to put the compiled class files     The following example demonstrates how you might compile a MIDP 2 0  application  taking source files from the src directory and placing the class files in  the tmpclasses directory  Newlines have been added for clarity        javac  target 1 3  source 1 3   bootclasspath       lib cldcapil0 jar       lib midpapi20 jar   d tmpclasses  src   java             For more information on javac  consult the Java SE documentation     Preverifying Class Files    The next step is to preverify the class files  The bin directory of the Java ME  Platform SDK includes the preverify utility  The syntax for the preverify  command is as follows     preverify files   directories    Java ME Platform SDK Help   April 2009    Some of the options are as follows         classpath classpath Specify the directories or JAR files  given as a semicolon delimited  list  from which classes are loaded      d output directory Specify the target directory for the output classes  This directory  must exist before preverifying  If 
34.  countries  The combination  of country  or region  and language is a locale     The central concept of JSR 238 is a resource  which is a string  image  or other object  that is suitable for a particular locale  For example  an application that is to be  distributed in Europe might include resources for Italian speaking people living in  Italy  Italian speaking people living in Switzerland  Spanish speaking people living  in Spain and so on     Resources are stored in files in a format defined in JSR 238  The resource files are  bundled as part of the MIDlet suite JAR file  The Java ME Platform SDK provides a  resource manager that simplifies the job of creating and maintaining resource files        Setting the Emulator   s Locale    You can change an emulator   s locale from the Device Selector   1  Right click on a device and choose Properties     2  In the Properties window  find the Locale property and click     to open the Locale  window     3  Select the locale from the dropdown list     Alternatively  while the emulator is running  select Application  gt  Change Locale and  type in the locale you want to use     227       228    Using the Resource Manager    To launch the resource manager  select a project  then choose Tools  gt  i18n Resources  Manager     All the resources for the selected project are displayed in the Resource Manager  See  the sample project i18nDemo described in    Running il8nDemo  on page 229     See also  Working With Locales and Working With Re
35.  events      W  com sun midp Icdui  5   javax microedition Icdui  H   84 com sun midp Icdui        com sun midp chameleon i  E com sun midp chameleor li     Self time   4 javax microedition Icdui     java util             Hot Spots   Package Self time            Self time Invocations  com sun midp chameleon 20 0 ms  1 296  2259  com sun midp chameleon layers 10 0 ms  0 696 321  com sun midp chameleon skins resources 10 0ms  0 696         chameleon  m                    Ea Call Tree I E Hot Spots   EZ Combined     Info      You can change the granularity of the results  In the toolbar at the top of the tab   make a selection from the View menu        Method Level View  default   Results are displayed according to the fully qualified  method names     Class Level View  Results for all methods of the same class are aggregated in a  single entry     Package Level View  All methods of classes that belong to the same package are  aggregated     Click any column label to sort based on its values  To remove a column from the  display  click the table icon above the scroll bar and uncheck the column name     The above screenshot shows a view that combines the Call Tree and Hot Spots  Click  the tabs along the bottom to see different views     84 Java ME Platform SDK Help   April 2009    Call Tree  This tab displays a call tree showing the method call chain and the  time number of invocations for executing threads and methods in each context   A  context is a unique chain of method cal
36.  files in the proper location in project source or resources     To add a MIDlet  Java class  Java package  Java interface or Other files  right click the  project name or the Source Packages node  choose New  and select the file type     To add files by format  Project  JAR  Folder  Library  right click the Resources node  and select a format  See Adding Libraries and Resources        48    Find in Files    To search a project s files  right click on the project and select Find       The Find in Files utility supports searching a project s file contents or file names  The  search input fields supports simple text matching and regular expressions     Java ME Platform SDK Help   April 2009    Containing Text  The string you are looking for  If File Name Patterns is empty  all  files are searched     File Name Patterns  The files you are searching in  If the Containing Text field is  empty you get a listing of files that match the pattern     The Options Whole Words  Match Case  and Regular Expression further restrict the  search  Regular Expression Constructs are fully explained in     http    java sun com javase 6 docs api java util regex Pattern html sum    Chapter 4 Creating and Editing Projects 49    50 Java ME Platform SDK Help   April 2009    CHAPTER 5       Viewing and Editing Project  Properties       To view project properties  right click the project node and select Properties  This  tool allows you to customize the following project properties     Viewing General Pr
37.  gt  Other allows you to add different types of files to the  project  For a sample procedure  see Generating Stub Files from WSDL Descriptors     Build  Builds a distribution Java archive  JAR  file  The build process is controlled by  project properties  as described in Building a Project     Clean  amp  Build  Cleans  then builds a distribution JAR file     Java ME Platform SDK Help   April 2009    Clean  Cleans the build files     Run  Runs the project with the default device  as specified on the Selecting a  Platform property page     Set as Main Project  Toolbar actions  such as clicking the green Run button  act upon  the main project     Close  Close the current project  Be sure that any processes are stopped  as closing a  project might not stop the emulator     The Source Packages node encapsulates all the Java packages in the project   Right click on the Source Packages node and choose New to add a new MIDlet to  your application     The Resources node encapsulates all resources and libraries of the active  configuration  Right click the Resources node to add Projects  JARs  folders  and  libraries as resources for your application  You cannot add or remove inherited  resources     See also  Viewing Project Files  Creating a CLDC Project  Creating a CDC Project   Creating a Stubs for BD J Platform Project  About Projects  and Importing CDC  Projects        Viewing Project Files    The Files window displays a physical view of all project files  Right click to view  
38.  include these instructions in the  application  For instructions on running samples  see TABLE 3 1 or TABLE 3 2     4  When you are finished viewing the application  go to the emulator s Application  menu and select Exit to close the emulator and stop the execution of the project s  build script        Note     Once the emulator is launched  it is an independent process  Pressing the red  stop button in the Output window terminates the build script  but it does not close  the emulator  Likewise  closing the SDK user interface does not affect the emulator   In the emulator  select Application  gt  Exit to ensure that both the emulator process  and the project build process close        Java ME Platform SDK Help   April 2009       Troubleshooting    Sometimes even a    known good    application  such as a sample project  does not run  successfully  The problem is usually your environment     m Some demonstrations require specific setup and instructions  For example  if a  sample uses web services and you are behind a firewall  you must configure the  emulator s proxy server settings or web access will fail  See Configuring the Web  Browser and Proxy Settings     m If an application must run over the air  OTA   the SDK automatically installs it in  the device instance     To perform the installation  MIDlet Suites use  installdir   runtimes cldc hi javafx bin runMidlet exe     CDC applications use installdir runtimes cdc hi bin cvm  exe     Because these programs are launched r
39.  input   From the menu  select OK     StringItem  Displays labels  a hyperlink  and a button  The soft menu action varies  depending on the selected element     Gauge  Interactive  non interactive  indefinite and incremental gauges     Alert  Uses pop ups to display alerts  Set the alarm type and the length of the  timeout from drop lists  Select the alert type and select the Show soft button     ChoiceGroup  Radio buttons  check boxes  and pop ups on one screen     List  Select exclusive  implicit  or multiple to display the list type on a subsequent  screen     TextBox  Use text fields  radio buttons  check boxes  and pop ups  Select a text box  type and press the Show button     TextField  Text fields with the five input types  DateField  Set date and time using drop lists     Ticker  A scrolling ticker     Chapter 3 Using Sample Projects 35    36 Java ME Platform SDK Help   April 2009    CHAPTER 4       Creating and Editing Projects       A project is a group of files comprising a single application  Files include source  files  resource files  XML configuration files  automatically generated Apache Ant    build files  and a properties file     The Java ME Platform SDK creates its project infrastructure directly on top of    Apache Ant  With this infrastructure in place  you can build and run your projects  within the SDK or from the command line  The build process is controlled by project    properties  as described in Building a Project     About Projects   a CLDC Proje
40.  part of MohairMIDlet  SATSA PKI Sign test  uses a smart card to  generate a digital signature  As with the earlier demonstrations  you need to run  cref with the right memory image to prepare for the connection from  MohairMIDlet     1  Right click on the project  select Properties  and choose Running  Enable Regular  execution and check Specify the Security Domain  Choose maximum from the list     2  Type the following from the SDK installation directory        start bin cref  i apps SATSADemos sat eeprom    3  In the emulator  select SATSA PKI Sign test  The following confirmation message  appears     This certificate will be used  MohairAuth  Select the OK soft key   4  For PIN 1  type  1234  Select the OK soft key  The following confirmation message appears     This string will be signed  JSR 177 Approved    5  Select the OK soft key  The following confirmation message appears        This certificate will be used  MohairAuth    Select the OK soft key     6  For non repudiation key 1 PIN  type  2345    194 Java ME Platform SDK Help   April 2009    Select the soft menu and choose OK  option 2         Running SATSAJCRMIDemo    This application contains a single MIDlet  JCRMIMID1let  which shows how to  communicate with a card application using Java Card RMI  a card friendly remote  object protocol  As with some of the MIDlets in SATSADemos  you need to start up  cref with an appropriate memory image     1  Right click on the project  select Properties  and choose Running  E
41.  platform    en US   microedition platform    IS08859 1           Http    This test application uses an HTTP connection to request a web page  The request is  issued with HTTP protocol GET or POST methods  If the HEAD method is used  the  head properties are read from the request        Preparing to Run the Demo    Before beginning  examine your settings as follows     Right click on Demos and select Properties   a Select the Running category   a Select Regular Execution   Check Specify the Security Domain and select Maximum   a Click OK     If you are using a proxy server  you must configure the emulator s proxy server  settings as described in Configuring the Web Browser and Proxy Settings  The  HTTP version must be 1 1     If you are running antivirus software  you might need to create a rule that allows  this MIDlet to allow connections to and from a specific web site  See  Troubleshooting     Running the Demo    Launch the Http MIDlet  To test  choose the Menu soft key and choose Get  Post  or  Head to test the selected URL     Http Test returns the information it is able to obtain  If the information fills the  screen use the down arrow to scroll to the end  The amount of information depends  on the type of request and on the amount of META information the page provides  To  provide body information or content  the page must declare CONTENT LENGTH as  described in RFC 2616     Chapter 3 Using Sample Projects 27    28    Using Menu Options    Use the Menu soft key for th
42.  project so  you can interact with certain sensors     237    The following permissions work with the preconfigured embedded sensors shipped  with the SDK     m javax microedition io Connector sensor   Required to open a sensor connection and start measuring data   m javax microedition sensor ProtectedSensor   Required to access a protected sensor   m javax microedition sensor PrivateSensor   Required to access a private sensor   A sensor is private or protected if the sensor s security property has the value  private or protected  The security property is an example of a sensor property you  might create for yourself in your own sensor configuration  You can create your own  optional properties using com  sun javame sensorN proplist and  com sun javame sensorN prop any name  where N is the sensor number and    any name is the name of your property  The security sensor property was created as  follows          add security into proplist  com sun javame sensor  N   proplist  security     add security property value  com sun javame sensor lt N gt  prop security  private          238    Using a Mobile Sensor Project    A Sensor project can be installed over the air  In the emulator window  select View  gt   External Events Generator  and select the Sensors tab  In this tab you can view all  sensors currently available in the emulator  with the sensor ID  name  and  availability  If the sensor supports change to availability you can click on the check  box to change it  As mentio
43.  registry  you can t see all of its features  just by using the Run button  Use the Run via OTA feature to install the application  into the emulator in a process that mirrors how applications are installed on real  devices     In this demo you send messages between the demo application running on the  emulator and the WMA console  Using the WMA console to send messages to the  emulator exercises the push registry     1  To launch the console choose Tools  gt  WMA Console     Java ME Platform SDK Help   April 2009    2     Click on the Send SMS button in the WMA console window  Choose the number  that corresponds to the emulator  probably 123456789  If you re not sure what  number the emulator is using  look for a number above the emulator screen   Choose the number in the SMS message window  then fill in a port number of  50000  Type your text message in the Message field and click on Send       The emulator asks if it can launch the WMADemo application  You might receive    several permission requests based on your firewall settings     Choose Yes  The SMSReceive MIDlet is launched and immediately displays the  incoming SMS message     You can also use the WMA console to send and receive CBS and MMS messages     If you are attempting to send text messages to WMADemo using the WMA console  specify the following port numbers     For SMS specify the port number 50000   Use port 50001 for CBS messages        For MMS messages  use example  mms MMSDemo as the application ID  This
44.  the new plugin  if necessary     The SDK places  jar files and docs for globally installed plugins in the SDK  installation directory instead of in an individual user directory     Java ME Platform SDK Help   April 2009    See Using the Plugins Manager     Chapter 2 Java ME Platform SDK Features 17    18 Java ME Platform SDK Help   April 2009    CHAPTER O       Using Sample Projects       The Java ME Platform SDK sample projects introduce you to the emulator   s API  features and the SDK features  tools  and utilities that support the various APIs   These features can help you customize the sample projects or create applications of  your own     The source code for every demonstration application is available in the  installdir   apps directory  Subdirectories contain projects  and each project has a src  directory that contains Java programming language source code     For example  if the SDK is installed in   C  Java_ME_Platform_SDK_3 0  the source code for the SMS sender MIDlet   example  sms  SMSSend  in WMADemo resides in    installdir apps WMADemo  src example sms SMSSend  java     For an explanation of the directory structure  see Installation Directories and User  Directories  See also  Sample Project Overview  Running a Project  and Running  MIDP and CLDC Sample Projects        Running a Project    To run a sample project  go to the Start Page tab and single click a sample project  name  The project opens in the Project window and starts running in the emulator     
45.  user switching  77    V   version option  134  versioning applications  52    Ww   Web Services specification  181  web services  stub generator  181  Wireless Messaging API  215  WMA  215   WMA console  215  219  wscompile  143   WUREL  73    X    Xdebug option  136   Xquery option  137   Xrunjdwp option  136     Xverbose option  137    Index 245    246 Java ME Platform SDK Help   April 2009    
46.  when the project is run on an  emulator  It does not apply for OTA provisioning or an external emulator platform           Emulator Command Line Options   Xverbose   e g   Xverbose            Regular Execution       Specify the Security Domain    maximum Nj          If you do not check Specify the Security Domain the project runs with the default  that was assigned when the project was created  If you check the box  you can select  a domain from the dropdown list  See Security Domains and Specifying the Security  Domain for a Project     Running a CDC Project    For CDC projects you must enter the name of the entry point Java file in the Main  Class field  The Main Class Browse button only shows executable classes in the  project   s source folders  For a CDC project this means all classes with a static main  method  or classes extending the Applet or Xlet classes     62 Java ME Platform SDK Help   April 2009    Arguments are passed only to the main class  not to individual files  If an Xlet is  executed  all arguments are passed to all the Xlets you specify     For VM options  see Running Settings and CDC Options     Chapter 5 Viewing and Editing Project Properties 63    64 Java ME Platform SDK Help   April 2009    CHAPTER 6       Running Projects in the Emulator       The Java ME Platform SDK emulator simulates a MIDP device on your desktop  computer  The emulator does not represent a specific device  but it provides correct  implementations of its supported APIs  The SDK 
47.  you just need to wait a few seconds           Device Selector 4  x  a CDC  Java TM  Micro Edition SDK 3 0  DefaultCdcPbpPhone1  SunVgaAGUIPhone1  SunvgaCdcPhone1    CLDC  Java TM  Micro Edition SDK 3 0  ClamshellCldcPhone1  DefaultCldcJtwiPhone1  DefaultCldcJtwiPhone2  DefaultCldcMsaPhone1  DefaultCldcMsaPhone2       DefaultCldcPhone1       DefaultCldcPhone2   I  JavaFX  Java TM  Micro Edition SDK 3 0  DefaultFxPhone1  DefaultFxTouchPhone1    Erg Eran  ra   799 r9  ra  1           Each sub node represents an emulator skin for a device  Two instances are provided  for some CLDC devices  for example  DefaultCldcPhonel and DefaultCldcPhone2   These devices have the same capabilities but unique phone numbers  making it easy  for you to test communication between two devices     The properties for each device skin are stored in XML files in your user work  directory  See   javame sdk 3  0 work  on page 80  and TABLE 8 1     Java ME Platform SDK Help   April 2009    See also  Platform Properties  Device Information  and Device Properties    Platform Properties    To view platform properties from the device selector  right click on the platform  node  for example  CDC  and select Properties  The platform properties display in a  separate window     If you have selected Window  gt  Properties  the Properties window is  by default   docked in the upper right portion of the user interface  Selecting a node in the  Project or Files trees causes any available properties to be displayed 
48. 0 0 1 port port number    7  Set the breakpoint at the place where the demo handles its menu commands        stop in calculator CalculatorMIDlet commandAction    8  In the FPDemo application  enter two numbers  choose an operation  and invoke  the Calc command     The debugger displays the place where the execution stops     9  To step through the source past the point where the result is calculated  use the  next command until you get past the following line     res   n1   op   n2     Chapter 14 CLDC Emulation on a Windows Mobile Device 115    116    10     11     12     13     14     15     Check that the input and the calculated values are correct   eval n1  eval n2  eval res   Override the calculated value as follows    set res   new value   Clear the breakpoint as follows    clear calculator CalculatorMIDlet commandAction  Let the application continue    cont   You can see that the application displays the overridden result   Exit the debugger    exit    Exit FPDemo     Java ME Platform SDK Help   April 2009    CHAPTER 15       Installing CLDC Emulation on a  Windows Mobile Emulator       This procedure describes how to install the Sun Java CLDC platform binary for the  ARM processor into the Windows Mobile Emulator        CLDC Installation for Windows Mobile    1  Download and install Microsoft Device Emulator with device images for  Windows Mobile 6     2  Download and install Microsoft Virtual PC        Note   Installs virtual switch driver required for emulated netwo
49. 159  Files window  45   font size  2  132    G    generating stub from command line  143    H  heap size  68  75   help option  134    l   import command  143  IrDA  168    243    J  J2ME Web Services Specification  181  JAD file  38  creating  60  JadTool  141  JAR file  38  add  59  creating and compressing  60  Java Cryptography Extension  JCE  keystore  142  JavaFX platform  7  JCP  155  JSR  155  JSR 75  159  JSR 82  167  170  JSR 118  93  JSR 120  215  JSR 135  171  JSR 172  181  183  JSR 177  185  JSR 179  197  199  JSR 184  204  206  JSR 185  93  JSR 205  215  JSR 211  225  JSR 226  207  JSR 229  233  234  JSR 238  227  229  JSR 239  207  JSR 248  93  JSR 256  237  JSR 75  161  164  JTWI security domains  94    K  key  exporting  61  key management  96  key pair  alias  98  creating  98  importing  99  keystore  JCE  142  keystore ks  25  keytool utility  142    244 Java ME Platform SDK Help   April 2009    L   locale  68  Location API  197  logical view  44    M   M3G  204   managing certificates from command line  142  manifest file  creating  139  MEKeyTool  142   messages tree sorting  89   method profiling  81   MIA  227   MMAPI  171  176   Mobile 3D Graphics API  203  204  Mobile Internationalization API  227  Mobile Media API  171   Mobile Media API  MMAPI   171  capture  172   mobile sensor  237   Mobile Sensors API  237  239   MSA security domains  94   multiple user environment  77       N    network monitor  68  filtering  89  sorting messages  89  network 
50. 2 Security and MIDlet Signing 97    98    Adding an Existing Keystore  You can make an existing keystore available to Java ME Platform SDK     1  Select Tools  gt  Keystores     The Keystores Manager opens     2  Click Add Keystore   The Add Keystores window opens     3  Choose Add Existing Keystore     4  Browse to the location of the keystore and select the keystore file  Click OK     The default location is C  Documents and Settings   User     5  Click OK     The new keystore appears in the Keystores list     Creating a New Key Pair    1  Select Tools  gt  Keystores     The Keystores Manager opens     2  Select a Keystore in the Keystores area on the left     If you prefer a different keystore  select Add Keystore to create a new keystore or  add an existing keystore     3  Click the New button     4  Fill in the Create Key Pair dialog   You must provide an alias to refer to this key pair     The six Certificate Details fields are provisionally optional  You must complete at  least one field     Key Pair Alias  The name used to refer to this key pair    Common Name  Common name of a person  such as  Jane Smith   Organization Unit  Department or division name  such as  Development   Organization Name  Large organization name  such as  Sun Microsystems Inc    Locality Name  Locality  city  name  such as  Santa Clara    State Name  State or province name  such as  California     Country  Two letter country code  such as  US     Java ME Platform SDK Help   April 2009    The pa
51. 3  KYUN     microsystems    Java    Platform Micro Edition  Software Development Kit       Version 3 0    Sun Microsystems  Inc   www sun com    Part No  040509  April 2009    mesdk feedback sun com    Copyright    2009 Sun Microsystems  Inc   4150 Network Circle  Santa Clara  California 95054  U S A  All rights reserved     Sun Microsystems  Inc  has intellectual property rights relating to technology embodied in the product that is described in this document  In  pee and without limitation  these intellectual property rights may include one or more of the U S  patents listed at  ttp    www sun com  patents and one or more additional patents or pending patent applications in the U S  and in other countries     U S  Government Rights   Commercial software  Government users are subject to the Sun Microsystems  Inc  standard license agreement and  applicable provisions of the FAR and its supplements  Use is subject to license terms     This distribution may include materials developed by third parties     Sun  Sun Microsystems  the Sun logo  Java  JavaFX  Java 2D  J2SE  Java SE  J2ME  Java ME  Javadoc  JavaTest  JAR  JDK  NetBeans  phoneME   and Solaris are trademarks or registered trademarks of Sun Microsystems  Inc  or its subsidiaries in the U S  and other countries     Products covered by and information contained in this service manual are controlled by U S  Export Control laws and may be subject to the  export or import laws in other countries  Nuclear  missile  chemical 
52. 9  Location Location API for Java ME  http   jcp org en jsr detail id 179  JSR 180  SIP SIP API for Java ME  http   jcp org en jsr detail id 180  JSR 184  3D Graphics Mobile 3D Graphics API for J2ME  http   jcp org en jsr detail id 184  JSR 185  JTWI 1 0 Java Technology for the Wireless Industry  http   jcp org en jsr detail id 185  JSR 205  WMA 2 0 Wireless Messaging API  http   jcp org en jsr detail id 205  JSR 209  AGUI 1 0 Advanced Graphics and User Interface Optional Package for the    J2ME Platform  http   www jcp org en jsr detail id 209    JSR 211  CHAPI Content Handler API  http    jcp org en jsr detail id 211    JSR 217  PBP 1 1 Personal Basis Profile 1 1  http   www jcp org en jsr detail id 218    Java ME Platform SDK Help   April 2009    TABLE 19 1    JSR  API    Name  URL    Supported JCP APIs  Continued        JSR 218  CDC    JSR 226  SVG    JSR 229  Payment    JSR 234  AMMS    JSR 238  MIA    JSR 239    JSR 248  MSA 1 0    JSR 256    JSR 280  XML API    Connected Device Configuration  http   jcp org en jsr detail id 218    Scalable 2D Vector Graphics API for J2ME    http   jcp org en j    Payment API  http   jcp org en j    sr de    sr de    Advanced Multimedia Supplements    http   jcp org en j    Mobile Internationalization    http   jcp org en j    Java Binding for OpenGL E       http   jcp org en j    Mobile Sero    http   jcp org en j    Mobile Sens    http   jcp org en j    ice Architecture    or API    XML API for Java ME    http   jcp org en j       sr 
53. Card    sur java cldc    96 08 3 95M       9  Finish the installation and run the Sun Java CLDC Emulation     Note   See CLDC Emulator Installation for a Device Running Windows Mobile       Chapter 15 Installing CLDC Emulation on a Windows Mobile Emulator     125       10  Use the installdir bin device address tool to register the emulator IP address  in the SDK  See Managing Device Addresses  device address      a  Execute the following command to ensure the SDK registers the emulator   device address exe add ip address    address should be the IP address written down in step 4     b  After the device registers the emulator the device selector window should  display the device as CldcWinceEmunumber and it should also appear in the  output when you issue the emulator exe  Xquery command     126 Java ME Platform SDK Help   April 2009    CHAPTER 16       On device Debugging       This section discusses the on device debugging process for CLDC and CDC When a  project is run in debug mode  a graphical debugger or a command line debugger can  be attached so that you can set and remove breakpoints     See On device Debugging Procedure and Sample CLDC Debugging Session        On device Debugging Procedure    Before starting this procedure ensure your environment is properly configured     Integrate the device as described in CLDC Emulator Installation for a Device  Running Windows Mobile     Confirm the device is connected and that it appears in the Device Selector  window     If th
54. CldcPhonei j localhost 5555  DefaultCldcPhonel  j localhost 5555    DefaultCldcPhone2        5555    Receive buffer 8192   Send buffer 8192   m Hex View   0  46 72 6   6d 20 63 6c 69 65 6e 74 20 74 6   20 73 65 From client to se  72 76 65 72 Od Oa 54 68 65 20 71 75 69 63 6b 20 62 rver  The quick b  72 6   77 6e 20 66 6   78 Od Oa 52 61 6e 20 6   76 65 rown fox  Ran ove  72 20 74 68 65 20 6c 61 7a 79 20 64 6f 67 Od Oa r the lazy dog       Select Devices  w    Select Protocols  vi    The top frame displays a list of messages  Click a message to display its details in  the bottom frame        In the Hex View  message bodies are shown as raw hexadecimal values with the  equivalent text     88 Java ME Platform SDK Help   April 2009    Note     You can examine messages that are still in the process of being sent   Incomplete messages are indicated by bold highlighting in the message tree        See also  Filtering Messages  Sorting Messages  Saving and Loading Network  Monitor Information  Clearing the Message Tree    Filtering Messages    Filters are useful for examining some subset of the total network traffic   m In the  Select Devices  list check only the devices you want to view     m In the  Select Protocols  list check only the protocols you want to view  The  supported protocols are datagram  socket  http  and https     m Click the magnifying glass in the Network Monitor toolbar to search for a specific  string in the data in the Phone or URL columns     See also  Using the
55. Click Paste to insert the CAB file   4  Run the File Explorer on your device   a  Open the Start menu     b  Click Programs     Chapter 14 CLDC Emulation on a Windows Mobile Device     107    vet Te 4  10 41    fv Today by  2008  T  Office Mobile  Calendar   FE Contacts     Internet Explorer    ia armation      Messaging     Phone  y  File Explorer     Bubble Breaker     windows Media  X  ActiveSync    1  FL Programs    3 Settings  2 J  c  7 Help pun                              Contacts       c  Click File Explorer     108 Java ME Platform SDK Help   April 2009        Calculator       ActiveSync       Internet Messenger MIDlet  Sharing Manager      T    Motes Pictures  amp  SAPSettings  videos       5  Start the CAB installation on the device   a  Open the Show menu     b  Select My Device     Chapter 14 CLDC Emulation on a Windows Mobile Device        My Device    a My Documents      LE My Music  My Pictures  LI My Ringtones  LI My Videos   LI Personal      i scp55015  scp55281   LI Templates  Ll LIA Contenks      Alouette 6 1 07 13 2K                 c  Click on the sun java cldc emu cab file     6  If asked during the installation  install the application on the device   7  Wait for the installation to finish   8  You can delete the CAB file after the installation is complete    a  Press on sun java cldc emu cab label until the context menu opens     b  Click Delete     110 Java ME Platform SDK Help   April 2009         File Explorer en Ty Mx  X    o My Device   Mame    L
56. Default Protection  Domain    To adjust the emulator   s default protection domain  use the following option with  the emulator command      Xdomain   domain type    Assigns a security domain to the MIDlet suite  Enter an appropriate security domain  as described in Security Domains  For example   Xdomain maximum     Signing MIDlet Suites  jadtool exe     jadtool exe is a command line interface for signing MIDlet suites using public  key cryptography according to the MIDP 2 0 specification  Signing a MIDlet suite is  the process of adding the signer certificates and the digital signature of the JAR file  to a JAD file  jadtool exe is also capable of signing payment update  JPP  files     jadtool exe only uses certificates and keys from Java SE platform keystores  Java  SE software provides keytool  the command line tool to manage Java SE platform  keystores     jadtool exe is packaged in a JAR file  To run it  open a command prompt  change  the current directory to installdir bin  and enter the following command     jadtool exe command    The commands are as follows   m  help  Prints the usage instructions for jadtool exe     m  addcert  alias alias   keystore keystore     storepass password    storetype PKCS11     certnum number    chainnum number    encoding encoding    inputjad   inputjpp input file   outputjad   outputjpp output file    Adds the certificate of the key pair from the given keystore to the JAD file or JPP  file     m  addjarsig   jarfile jarfile    keystore 
57. I  javax microedition io PushRegistry  API Permissions are  handled in the API Permissions property page     Remove a Push Registry Entry    Select an entry and click Remove to delete it from the list     Change Push Registry Display Order    The list order determines the order in which the MIDlets are displayed  Select an  entry and select Move Up or Move Down to change its position     56 Java ME Platform SDK Help   April 2009    API Permissions    These properties set permission attributes for protected APIs called by the MIDlet  suite  To view this property page  right click on a project and choose API  Permissions  Select the Application Descriptor category  and select the Attributes  tab     The Requested Permissions table in this page has two fields     m API  The API permissions requested by the MIDlet     m Required  If checked  the permission is required  At installation  if the required  permission can not be granted by the application management software  the  application will not be installed  If the box is not checked  the permission is  optional  If an optional permission is denied  the application might continue to  function  although its functionality can be limited     Adding Permission Requests  1  Click the Add Button  The API Permission for API dialog opens     2  Choose an API from the dropdown list or enter an API into the combo box and  click OK     3  In the Requested Permissions table  check the Required box if you want  installation to fail in the e
58. JAR  JDK  NetBeans  phoneME  and  Solaris sont des marques de fabrique ou des marques d  pos  es enregistr  es de Sun Microsystems  Inc   ou ses filiales  aux Etats Unis et dans  d autres pays     Les produits qui font l objet de ce manuel d entretien et les informations qu il contient sont r  gis par la l  gislation am  ricaine en mati  re de  contr  le des exportations et peuvent   tre soumis au droit d autres pays dans le domaine des exportations et importations  Les utilisations  finales  ou utilisateurs finaux  pour des armes nucl  aires  des missiles  des armes biologiques et chimiques ou du nucl  aire maritime   directement ou indirectement  sont strictement interdites  Les exportations ou r  exportations vers des pays sous embargo des Etats Unis  ou  vers des entit  s figurant sur les listes d exclusion d exportation am  ricaines  y compris  mais de mani  r   non exclusive  la liste de personnes qui  font objet d un ordre de ne pas participer  d une facon directe ou indirecte  aux exportations de des produits ou des services qui sont r  gi par la  l  gislation am  ricaine sur E contr  l   des exportations et la liste de ressortissants sp  cifiquement d  signes  sont rigoureusement interdites     LA DOCUMENTATION EST FOURNIE  EN L   TAT  ET TOUTES AUTRES CONDITIONS  D  CLARATIONS ET GARANTIES EXPRESSES  OU TACITES SONT FORMELLEMENT EXCLUES  DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE  Y COMPRIS NOTAMMENT  TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE  A L
59. P  Project     Choose Project    This is the first page in the New Project wizard  For MIDP the project options are as  follows     MIDP Application  Create a new MIDP application in a CLDC MIDP project     Java ME Platform SDK Help   April 2009    Import Wireless Toolkit Project  Create a project by importing a Sun Java Wireless  Toolkit project from an existing toolkit installation     For CDC the project options are as follows   CDC Application  Create a new CDC application in a CLDC project     Import CDC Toolkit Project  Create a project by importing a CDC Toolkit project  from an existing toolkit installation     Name and Location    This is the second page in the New Project wizard     Project Name  Enter a project name  If you are importing an existing project this  field is prepopulated with the old filename prefixed     Project Location  The default location is C  Documents and Settings user My  Documents  JavaMESDKProjects        Project Folder The Project Folder value is extrapolated from Project Name and  Project Location     Set as Main Project  Check this box to make the project the Main Project when it is  first opened  The Main project is automatically the focus of all actions initiated from  the user interface  for example  the actions on the Run menu  which provide the  same functionality as clicking icons on the main tool bar      Create Hello MIDlet  This check box is only visible for a new MIDP project  It  inserts sample MIDlet code as a template for yo
60. PI for the  J2ME  This API provides 3D functionality in a compact package that   s appropriate  for CLDC MIDP devices  The API provides two methods for displaying 3D graphics  content     The immediate mode API makes it possible for applications to directly create and  manipulate 3D elements     Layered on top of this is a scene graph API  also called retained mode  that makes it  possible to load and display entire 3D scenes that are designed ahead of time     For more information  consult the JSR 184 specification at  http   jcp org en jsr detail id 184     Choosing a Graphics Mode    Applications are free to use whichever approach is most appropriate or to use a  combination of the retained mode and immediate mode APIs     JSR 184 provides a standard API for CLDC MIDP devices  enabling a new  generation of 3D applications  The immediate mode API  in turn  is compatible with  OpenGL ES  a standard lightweight API for 3D graphics  See  http   khronos org  for more information on OpenGL ES     Immediate Mode    Immediate mode is appropriate for applications that generate 3D graphics content  algorithmically  such as scientific visualizations or statistical graphs  The application  creates 3D objects and manipulates them directly           For an example of immediate mode  see the Life3D MIDlet in the Demo3D example  application     Java ME Platform SDK Help   April 2009    Retained Mode    Most applications  particularly games  use the retained mode or scene graph API  In  th
61. PIDemo     In the device selector  right click on a device  select Run Project OTA  and choose  CHAPIDemo     You are asked to enter the password for the keystore  Type  keystorepwd    You are asked to enter the password for the  dummyca  key pair alias within  the keystore  Type  keypwd    On the Favorite Links page  choose CHAPI Demo  Press the menu soft button  and choose 1  Go     The Text Viewer displays a Media Player URL and links to various media files        Select Duke   png  Use the arrows to highlight the link  then select the file  Using  CHAPI  the ImageViewer MIDlet runs and displays the Duke image  Select the  Back soft key to return to the Text Viewer     Install the Media Player to view media     Select the URL http handlers MediaHandler jad   Select the Menu soft button and select item 1  Go     The application asks   Are you sure you want to install Media Handler   Select  the Install soft key  For the rest of this demo  click Install if you are asked for  confirmation     The installation finishes and you return to the Text Viewer     View different media files     Select a URL from the list  select the Menu soft button and select item 1  Go     Chapter 28 JSR 211  Content Handler API  CHAPI  225    226 Java ME Platform SDK Help   April 2009    CHAPTER 29       JSR 238  Mobile Internationalization  API  MIA        JSR 238  the Mobile Internationalization API  is designed for applications that are to  be displayed in multiple languages and used in multiple
62. R 1 7       Command Line Reference       This topic describes how to operate the Java ME Platform SDK from the command  line and details the command line tools required to build and run an application     Launching the SDK   Running the Device Manager   Managing Device Addresses  device address    Running the Emulator From the Command Line   a MIDlet Options       CDC Options      Debugging and Tracing Options   Building a Project from the Command Line   a Checking Prerequisites       Compiling Class Files   a Preverifying Class Files   Packaging a MIDLet Suite  JAR and JAD    Command Line Security Features   a Changing the Emulator   s Default Protection Domain     Signing MIDlet Suites  jadtool exe       Managing Certificates  MEKeyTool    Generating Stubs  wscompile    Running the Payment Console From the Command Line  Virtual Machine Memory Profiler  Java Heap Memory Observe Tool      Running the Java Heap Memory Observe Tool      Viewing the Heap Snapshot   Running WMA Tool      Smsreceive    131    a cbsreceive     mmsreceive    smssend     cbssend      mmssend       Launching the SDK    The SDK can be launched from the command line as follows   installdir  toolbar bin Java platform ME SDK exe    You can use the       ontsize argument to change the user interface fonts  For  example     installdir  ctoolbar bin Java platform ME SDK exe   fontsize 18    This setting does not affect the font size of the JavaHelp contents        132    Running the Device Manager    The dev
63. SR 172  Web Services Support       The Java ME Platform SDK emulator supports JSR 172  the J2ME Web Services  Specification  JSR 172 provides APIs for accessing web services from mobile  applications  It also includes an API for parsing XML documents        Generating Stub Files from WSDL  Descriptors    The Java ME Platform SDK provides a stub generator that automates creating source  code for accessing web services that conform to the J2ME Web Services Specification   You can add stubs to any MIDP application  The following is a general procedure for  adding stubs     1   2    3     In the Projects window  expand the tree for a project   Right click on the Source Packages node and select New  gt  Other     In the Categories pane select Other  and in the File Types area choose Mobile  Webservice Client       In the Generate J2ME Webservice Stub page  you can either     m Click Running Web Service and enter the URL for the WSDL    m Click Specify the Local filename for the retrieved WSDL and browse to a file on  your system     In either case  you must enter a Package name  then click Finish  The new  package appears in the project and includes an interface file and a stub file       You can now edit your source files to call the content the stub provides  then    build and run     181    See Creating a New Mobile Web Service Client for a step by step process  or see  Running JSR172Demo and view the demo source files        Creating a New Mobile Web Service  Client    This sa
64. See Creating a CLDC Project     CDC Stack    A Java ME Platform  Connected Device Configuration application is an application  targeted for network connected consumer and embedded devices  including  high end mobile phones  smart communicators  high end PDAs  and set top boxes     Java ME Platform SDK Help   April 2009    Devices that support CDC typically include a 32 bit microprocessor or controller and  make about 2 MB of RAM and 2 5 MB of ROM available to the Java application  environment     CDC is based upon the open source project phoneME    Advanced  found at  https    phoneme dev  java net  A CDC application conforms to the Connected  Device Configuration with a set of profiles that include Personal Basis Profile and  AGUI     m CDC 1 1 with PBP 1 1  m AGUI 1 0    See Creating a CDC Project     BD J Stack    The BD J stack automates creating a BD J project that is ready to be burned to a  Blu ray disc or run in an emulator     A project wizard simplifies tasks for compiling and bundling the project  The  bundled package can be run on an Blu ray playback software that must be  downloaded and installed separately     See Creating a Stubs for BD J Platform Project     JavaFX Platform    The SDK can run a JavaFX application in JAD or JAR form  The SDK does not  support creating or compiling JavaFX projects  The NetBeans   IDE  combined with  the JavaFX SDK  supports JavaFX application development with full editor support   draggable components  and more  Download the dev
65. TSADemos JSR 177 Demonstrates communication with a smart Running SATSADemos  card and other features of SATSA    SATSAJCRMIDemo JSR 177 Shows how to use the SATSA Java Card Running  Remote Invocation method  SATSAJCRMIDemo   Sensors JSR 256 The SensorBrowser and Marbles game Running the Sensors  demonstrate sensor input  Sample Project   SIPDemo JSR 180 Simple message exchange using SIP  Running SIPDemo   SVGContactList JSR 226 Uses SVG to create a contact list displayed Running SVGContactList  with different skins    SVGDemo JSR 226 Uses different SVG rendering techniques  Running SVGDemo   UIDemo MIDP 2 0 Showcases the breadth of MIDP 2 0 s user Running UIDemo  interface capabilities    WMADemo WMA 2 0 Shows how to send and receive SMS  CBS  Running WMADemo  and MMS messages    XMLAPIDemo JSR 280 Uses DOM and STAX APIs to create an XML Follow the instructions the  sample and SAX  DOM and StAX APIs to application provides   parse the sample    TABLE 3 2 lists the CDC sample projects available in this release    TABLE 3 2 CDC Sample Projects   Sample Optional Package Description Instructions    AGUIJJava2DDemo JSR 209    AGUISwingSet2 JSR 209    BdjGunBunny N A    This stand alone application is a Java  SE application adapted for the CDC  environment  It demonstrates the  graphical and animation capabilities  of the Java 2D    API     Functional tools such as buttons   sliders  and menus implemented with  Swing     A shooting game     Click the blue arrows to page  through th
66. You can take a snapshot of your current view at any time and import  the snapshot later on     Chapter9 Profiling Applications 85    Click the Save Snapshot to Custom File icon and specify a location for the snapshot  file  The snapshot extension is  nps and the default location is C    Documents and  Settings user My Documents     us View      Methods J ze Q  et dy      Save Snapshot bo Custom File          To create a bitmap image of the profile data  click the Save current view to image  icon  The default format is   png  portable networks graphic file      JARE             86    Loading a Customized Snapshot    Follow these steps to load a customized profiler snapshot   1  In the main window toolbar  select Tools  gt Load Profiler Snapshot       2  Choose a customized snapshot    nps file            The default location is  C  Documents and Settings user My Documents     The snapshot opens in its own tab in the main window labeled CPU time     Java ME Platform SDK Help   April 2009    CHAPTER 10       Monitoring Network Traffic       MIDP applications  at a minimum  are capable of HTTP network connections  but  many other types of network connections are also possible  The network monitor  provides a convenient way to see the information your application is sending and  receiving on the network  This is helpful if you are debugging network interactions  or looking for ways to optimize network traffic     Networking monitoring works for emulators only  it is not supported 
67. amming with MMAPI  see the following articles     Mobile Media API Overview   http   developers sun com techtopics mobility apis articles mmap    i     overview     The J2ME Mobile Media API  http    jcp org en jsr detail id 135    171       172    Media Types    The emulator   s MMAPI implementation supports the following media types           MIME Type Description   audio amr Adaptive Multi Rate  audio midi MIDI files   audio sp midi Scalable Polyphony MIDI  audio x tone seq MIDP 2 0 tone sequence  audio x wav WAV PCM sampled audio  image gif GIF 89a  animated GIF   video mpeg MPEG video    video vnd sun rgb565 Video capture       Adaptive Multi Rate  AMR  Content    The Java ME Platform SDK simulates support for Adaptive Multi Rate  AMR   content  http    www ietf org rfc rfc3267 txt   Although the Java ME  Platform SDK cannot decode AMR content  the implementation returns a player for  AMR content when requested     On Windows  AMR files are converted to regular WAVE files and passed to Qsound   Because the Windows version interfaces with the 3GPP implementation  you do not  have to do anything to get AMR files to play     Media Capture    The Java ME Platform SDK emulator supports audio and video capture  Audio  capture is supported by using the capture capabilities of the system upon which the  emulator runs     Video capture is supported by simulating a camera input     Consult the MobileMediaAPI example application for details and source code that  demonstrates how to
68. ample  CLDC Debugging Session    Attach a Command Line Debugger    Start the application on the connected device as described in On device Debugging  Procedure  Attach the Java debugger  jdb  from the command line as follows     jdb  connect com sun jdi SocketAttach  port 51307    The above command assumes the host is 127 0 0 1  localhost   and the debugging  port is still set to the default of 51307  If you changed the device   s port number  property  enter that value     See Attach a Graphical Debugger and Sample CLDC Debugging Session     Attach a Graphical Debugger    This procedure describes how to attach the NetBeans graphical Java debugger   JPDA      1  If you want to set line breakpoints  open the project you deployed on the  connected device in NetBeans     2  Select Debug  gt  Attach Debugger     Java ME Platform SDK Help   April 2009    3        In the Attach window  choose Java Debugger  JPDA  and click OK  You are  prompted for connection settings    m Connector  SocketAttach  m Host  localhost  or leave as is  m Port  the port number of the device running in debug mode     The debugger attaches to the device     Sample CLDC Debugging Session    This procedure provides instructions for running the FPDemo sample project on a  device running Windows Mobile  You can use this procedure with any project     1    2     10     In the Java ME Platform SDK  select File  gt  Open Sample Project  gt  FPDemo   In the Projects window  right click on FPDemo and select Proper
69. appropriate security domain     m If the MIDlet suite is not signed  it is placed in the default security domain     m If the MIDlet is signed  it is placed in the protection domain that is associated  with the root certificate of the signing key   s certificate chain  See    Signing a  Project    on page 95     Specifying the Security Domain for an Emulator    To choose the security domain you want the emulator to use  right click on the  device in the Device Selection window and select a security domain  The SDK knows  the runtimes the device can support and supplies only possible domains  The default  for both MSA and JTWI is Maximum  See Setting Device Properties     Specifying the Security Domain for a Project    You can set a security domain in a project  Follow these steps to specify the project  security domain     1  Right click on a project and select Properties   2  In the Category area  select Running  the green triangle      3  Select Regular Execution and check the Security domain box  In this context  regular execution means you are running in the emulator  as opposed to running  OTA     4  Select the domain from the drop down menu        Signing a Project    Devices use signing information to check an application s source and validity before  allowing it to access protected APIs  For test purposes  you can create a signing key  pair to sign an application  The key pair consists of two keys     Chapter 12 Security and MIDlet Signing 95    m A private key that i
70. arget devices  To view this property page  right click on a project and choose  Properties and select the Platform category     CDC and CLDC MIDP platform types are listed in the Select Platform Type  dropdown  The emulator platform is supplied based on the platform type  The Stubs  for BD J Platform is a type of CDC platform  See Creating a Stubs for BD J Platform  Project     Select a platform type from the dropdown menu     By default  the devices in the device menu are also suitable for the platform type and  emulator platform  The device you select is the default device for this project  It is  used whenever you use the Run command  Your device selection influences the  Device Configuration and Device Profile options  and the available optional  packages     For CLDC  select the optional packages you want to include in this project  The  selected APIs are automatically added to the project   s classpath     Java ME Platform SDK Help   April 2009    See  Creating a CLDC Project  Creating a CDC Project  and Creating a Stubs for BD J  Platform Project       Editing Application Descriptor  Properties    To view this property page  right click on a project  choose Properties  and select the  Application Descriptor category  The Application Descriptor properties page enables  adding  editing  or deleting project attributes  as discussed in the following topics     CDC Attributes and MIDP Attributes  MIDlets  Push Registry  API Permissions  and  Using Content Handlers    CDC At
71. ash modifier   optional   class list  and method list  optional   If the list of methods is empty  an  application is allowed to invoke all the remote methods of interfaces in the list of  classes  for example        jcrmi    classes    com sun javacard samples RMIDemo  Purse     hashModifier zzz  methods    debit  S V  setAccountNumber   B V  getAccountNumber     B             All the numbers are hexadecimal  Tabulation  blank  CR  and LF symbols are used as  separators  Separators can be omitted before and after symbols   and       The pin_apdu and pin_jcrmi records contain information necessary for PIN entry  methods  which is the PIN identifier and APDU command headers  or remote  method names     Chapter 24 JSR 177  Smart Card Security  SATSA  189    Access Control File Example       pin_data    label Unblock pin  id 44  type utf  min 4  stored 8  max 8  reference 33  pad ff  flag needs padding  yflag unblockingPIN  H  pin data    label Main pin  id 55  type half nibble  min 4  stored 8  max 8  reference 12  pad ff  flag disable allowed  flag needs padding    acf a000062 ff 1      ace    root CN thehost  OU JCT O dummy CA L Santa Clara  ST CA C US    pin jcrmi    id 55  verify enterPIN  B S  change changePIN  B B S  disable disablePIN  B S  enable enablePIN  B S  unblock unblockPIN  B B S    acf a0 0 0 0 62 ee 1    ace    root CN thehost OU JCT O dummy CA L Santa Clara  ST CA C US    pin_apdu    id  55             190 Java ME Platform SDK Help   April 2009          disab
72. at a minimum  its own log file and a device properties file  The directory  number is also the ID number assigned to the emulator skin  It is displayed in the  emulator s title bar     TABLE 8 1 Device Names       Directory Device  ClamshellCldcPhone1  DefaultCdcPbpPhonel  DefaultCldc twiPhone1       DefaultCldcJtwiPhone2  DefaultCldcMsaPhone1  DefaultCldcMsaPhone2  DefaultCldcPhone1  DefaultCldcPhone2  DefaultFxPhonel    oOo ON DTD oO d WOW MM n2 C    DefaultCdcPbpPhone  SunVgaAGUIPhonel             11 SunVgaCdcPhonel       Profiling creates the following data file in a device instance directory       javame sdk 3  0 work device data prof      javame sdk toolbar 3 0    Contains property files and configuration files for the GUI development  environment      JavaMESDKProjects       The default project directory is C  Documents and Settings User My  Documents NVJavaMESDKProjects     80 Java ME Platform SDK Help   April 2009    CHAPTER 9       Profiling Applications       The profiler keeps track of every method in your application  For a particular  emulation session  it figures out how much time was spent in each method and how  many times each method was called     The SDK supports offline profiling  Data is collected during the emulation session   After you close the emulator a profiler data snapshot is written to a  prof you can  load and view in the SDK  As you view the snapshot you can investigate particular  methods or classes and save a customized snapshot  a  nps file
73. b  so if you are behind a    firewall  you must configure the emulator s proxy server settings  as described in  Configuring the Web Browser and Proxy Settings     When you play the demo  expect to wait a few seconds while the demo obtains  the data  The MPEG1 demos have the same behavior as Video Capture   Form  and Video Capture   Canvas  respectively     Attributes for MobileMediaAPI    The MobileMediaAPI applications have the following editable attributes   Right click on the project and select Properties  Select Application Descriptor and  view the Attributes tab     TABLE22 2 Descriptions of MMAPI specific MIDlet attributes          Attribute Description  PlayerTitle n Name of the nth media title to be played back by the Simple Player  MIDlet        Chapter 22 JSR 135  Mobile Media API Support 179    TABLE 22 2 Descriptions of MMAPI specific MIDlet attributes  Continued        Attribute Description   PlayerURL n Location of the nth media title  PlayerTitle n  to be played back  by the Simple Player MIDlet    VideoTest n The name of the nth media title to be played back by the Video  application    VideoTest URLn Location of the nth media title  VideoTest n  to be played back       by the Video application           Running the Multimedia Sample Project    This MIDlet simply plays different multimedia samples  The sample formats are   AMR narrow band  MIDI audio  Wave audio  MPEG video  and animated GIF     180 Java ME Platform SDK Help   April 2009    CHAPTER 23       J
74. biological weapons or nuclear maritime end uses or end users  whether  direct or indirect  are strictly prohibited  Export or reexport to countries subject to U S  embargo or to entities identified on U S  export exclusion  lists  including  but not limited to  the denied persons and specially designated nationals lists is strictly prohibited     DOCUMENTATION IS PROVIDED  AS IS  AND ALL EXPRESS OR IMPLIED CONDITIONS  REPRESENTATIONS AND WARRANTIES   INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY  FITNESS FOR A PARTICULAR PURPOSE OR NON INFRINGEMENT   ARE DISCLAIMED  EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID     Copyright    2009 Sun Microsystems  Inc   4150 Network Circle  Santa Clara  California 95054    tats Unis  Tous droits r  serv  s     Sun Microsystems  Inc  d  tient les droits de propri  t   intellectuels relatifs    la technologie incorpor  e dans le produit qui est d  crit dans ce  document  En particulier  et ce sans limitation  ces droits de propri  t   intellectuelle peuvent inclure un ou plus des brevets am  ricains list  s     l adresse http    www sun com patents et un ou les brevets suppl  mentaires ou les applications de brevet en attente aux Etats   Unis et dans  d autres pays     Utilisation est soumise aux termes du contrat de licence   Cette distribution peut inclure des   l  ments d  velopp  s par des tiers     Sun  Sun Microsystems  le logo Sun  Java  JavaFX  J2SE  Java 2D  Java SE  J2ME  Java ME  Javadoc  JavaTest  
75. ces that support JSR 82 but might have the Bluetooth feature    turned off   Device is Indicates whether or not this emulator can be discovered by other  discoverable emulators   Friendly name A human readable name for the emulator in the simulated Bluetooth    environment  If the name is left blank  the emulator does not support  the friendly name feature     Encryption Determines whether connection encryption is supported  on  or not   off   In addition  the force settings means all connections must be  encrypted  See the documentation for RemoteDevice   s encrypt     method for details     Authorization Similar to the Encryption property  See RemoteDevice   s  authorize   method     Authentication Similar to Encryption and Authorization  See RemoteDevice   s  authenticate   method     Chapter 21 JSR 82  Bluetooth and OBEX Support 169       170    Running the Bluetooth Demo    This application contains MIDlets that demonstrate the use of JSR 82 s Bluetooth  API  It shows how images can be transferred between devices using Bluetooth     You must run two emulator instances to see this process  and each device must have  a different phone number     For example  use DefaultCldcMsaPhonel to launch Bluetooth Demo  then choose  Server  The emulator asks you if you want to allow a Bluetooth connection  Choose  Yes  The server starts and displays a list of images  At the beginning  none of the  images are available on the Bluetooth network    Select the images you want to make avai
76. ckage from the drop down menu  or type in the name of a new package  The new  package is created along with the class     Java ME Platform SDK Help   April 2009    Created File  Displays the name and location of the MIDlet     When the new MIDlet is created the SDK automatically adds it to the project   s  Application Descriptor File     Importing MIDP Projects    If you created a project using the Sun Java Wireless Toolkit for CLDC you can import  your MIDlets into Java ME SDK projects  You can also use this procedure to create a  project based upon a legacy sample project     1   2   3     Select File  gt  New Project   In the Projects area select Import Wireless Toolkit project  Click Next     Specify the toolkit installation home  Use browse to open the top level installation  directory       The wizard detects any applications in the legacy installation and displays their    locations on disk  Select a project and click Next       Supply the Project Name  Location  and Folder for the new project  see     JavaMESDKProjects   Note that the default name project name and folder  name are based on the name of the project you are importing  Click Next       Select the Platform type  the default device  and the configuration and profile  if    applicable  Click Finish  Your new project opens in the Projects window       If the legacy project used signing  you must configure the signing properties  as    described in Managing Keystores and Key Pairs     Importing CDC Projects   
77. cludes the JavaFX runtime and includes two default phone skins for  JavaFX  You can use the SDK to run JavaFX project Java application descriptor  JAD   files or Java archive  JARTV  files  See JavaFX Platform     See CLDC and MIDP Stack  CDC Stack  BD J Stack  and JavaFX Platform     CLDC and MIDP Stack    CLDC MIDP applications conform to both the Connected Limited Device  Configuration and Mobile Information Device Profile  MIDP   The CLDC MIDP  stack is based on the open source phoneME    Feature project at   https    phoneme dev java net     m CLDC 1 1 and MIDP 2 1   m Optimized Mobile Service Architecture  MSA  stack with extensions  JSR 248    m Java Technology for the Wireless Industry  JTWI  stack  JSR 185    m All the JSRs listed in TABLE 19 1   CLDC MIDP applications are targeted for devices that typically have the following  capabilities    m A 16 bit or 32 bit processor with a clock speed of 16MHz or higher    m At least 160 KB of non volatile memory allocated for the CLDC libraries and  virtual machine    m At least 192 KB of total memory available for the Java platform  m Low power consumption  often operating on battery power  m Connectivity to some kind of network  often with a wireless  intermittent    connection and limited bandwidth    Typical devices might be cellular phones  pagers  low end personal organizers  and  machine to machine equipment  In addition  CLDC can also be deployed in home  appliances  TV set top boxes  and point of sale terminals     
78. conds     m The channel tag sets the value of the channel with the specified id value  to  value  The channel ignores the id if the value of id is not specified or if the value  is out of the channel range     m The sensor tag is a true or false value that makes the sensor available or  unavailable  The pre configured sensors provided with this release are embedded   so they cannot be deactivated  If you configure your own sensor that is not  embedded  it will be possible to deactivate it        Running the Sensors Sample Project    The Sensors demonstration has two MIDlets  SensorBrowser and Marbles that  demonstrate the SDK   s implementation of the Mobile Sensor API     Use the Run via OTA feature to install the application into the emulator     Chapter 31 JSR 256  Mobile Sensor API Support     239    240       SensorBrowser    The SensorBrowser application displays the sensor detail information for each  channel defined for the demo     1  In the emulator select SensorBrowser and use the soft key to select Launch the  application     The emulator displays a list of sensors     2  Use the navigation keys to highlight a sensor  then use the soft key to select  Detail     For example  the following screen shows the details for the acceleration sensor     Sensor detail  acceleration  acc       E  axisx  e  E     Back    Click Back  then click Exit to return to the application menu     Marbles    This demonstration uses the Marbles game to provide visual feedback for sensor  i
79. cs technotes tools  windows keytool html     To run MEKeyTool  open a command prompt  change the current directory to  installdir bin  and enter the following command     mekeytool exe  command  The command keywords follow     The Java ME Platform SDK contains a default ME keystore called  main ks  which  is located in the installdirxxuntimesNVcldc hi javafxNappdb  This keystore  includes all the certificates that exist in the default Java SE platform keystore that  comes with the Java SE installation     Java ME Platform SDK Help   April 2009    Also  each emulator instance has its own _main ks file located in   userhome   javme sdk 3  0 work emulator instance appdb  If you do not specify a  value for MEKeystore  a new key is added to the default ME key for this emulator  instance     If you do not specify a value for  keystore  the default keystore is used   C  Documents and Settings user  keystore ks       Pd    m  help  Prints the usage instructions for MEKeyTool     m  import  alias alias   keystore JCEkeystore    MEKeystore filename     storepass storepass    domain domain name    Imports a public key into the ME keystore from the given JCE keystore using the  given Java Cryptography Extension keystore password  and the default Java  Cryptography Extension keystore is user home    keystore     m  list   MEKeystore filename     Lists the keys in the ME keystore  including the owner and validity period for  each     m  delete   owner owner    number key number    MEKeysto
80. cted Applications  When the WTK Location is selected the Detected  Applications window displays the available projects  Highlight a project  and click  Next     See Importing MIDP Projects        42    Creating a CDC Project    The SDK provides a wizard for creating new projects quickly and easily  Most  project properties can be edited later on  CDC core  FP  and PBP APIs are  automatically included in every CDC project    1  Select File  gt  New Project     The New Project wizard opens     2  Follow the prompts in the New Project wizard  consulting help if necessary  See  Choose Project  CDC   Name and Location  Platform Selection  CDC   and Specify  CDC Toolkit Project     3  The Name and Location page has the following fields     Project Name  The name you supply is the default name for the Main class  if you  use one     Project Location  Browse to the project location  The default is   JavaMESDKProjects        Java ME Platform SDK Help   April 2009    Project Folder  This value is extrapolated from the Name and Location entries     4  Set as Main Project  Check this box to set this project as main  Toolbar actions   such as Build and Run  operate on the main project  The main project is displayed  in bold font in the project tree     5  Create Main Class  If you want to create a sample Main class in the project  check  the box and supply a project name  If the box is not checked  the project will not  have a Main class    6  Select platform    Select the platform  a dev
81. cts   a CDC Projects   Creating a CLDC Project   a Choose Project      Name and Location   m Platform Selection   a Specify WTK Project  Creating a CDC Project   a Choose Project  CDC    a Platform Selection  CDC   a Specify CDC Toolkit Project  Working With Projects  Viewing Project Files  Creating a New MIDlet  Importing MIDP Projects  Importing CDC Projects  Adding Files to a Project    Find in Files    37       38    About Projects    A project contains all the supporting files for one application  When a project is  created  the SDK performs these tasks     m Creates a source tree you can examine in the Working With Projects or Viewing  Project Files views     m Sets the emulator platform for the project   m Sets the project run and compile time classpaths     m Creates a build script that contains actions for running  compiling  debugging   and building Javadoc  The build process is controlled by project properties  as  described in Building a Project     The SDK provides two views of the project    m The Working With Projects window provides a logical view of the project   m The Viewing Project Files window displays a physical view of the project   Project settings are controlled in the project Properties window  Typically  you    right click on an item or subitem in a tree  a project  a file  or a device  and select  Properties     View these topics to learn about project properties  Creating a CLDC Project   Creating a CDC Project  Working With Projects  Viewing Proj
82. d Preferences   Checking Read or Write requests permission  for all preferences  The user preferences are  User Language  Parental Rating   DefaultFontSize  and Country Code  For example  check Read to enable Read  permission for all preferences     Network Permissions   Allows a signed application to specify the hosts and  actions that receive the permissions     For example  enter connect     to request permission for all hosts to  connect  To open all permissions for all hosts  enter   connect  listen  resolve  accept        By default the deployment directory    build dir  deploy is created in     C  Documents and Settings User My Documents   JavaMESDKProjects   Application  build deploy    The deployment directory contains the JAR file     Java ME Platform SDK Help   April 2009    The PRF is stored in the JAR file in the same location as the Main class  It is given  the name bluray  Main  perm  where Main is the name of the Main class  A PRF  file might look like this      lt  xml version  1 0  encoding  UTF 8   gt     n permissionrequestfile xmlns n  urn BDA bdmv PRF  orgid    56789abc  appid  00004001  gt      file value  true  gt  lt  file gt      applifecyclecontrol value  false  gt  lt  applifecyclecontrol gt      servicesel value  true  gt  lt  servicesel gt      userpreferences read  true  write  false      userpreferences       network       host action  connect  listen  resolve  accept  gt     lt  host gt     lt  n permissionrequestfile gt     lt  network gt    
83. d for a few minutes     To add a band  select the Menu soft key and choose 4  Type in a band name or a  comma separated list of names  Choose the Save soft key  After confirmation you are  returned to the welcome page  The added band s  are displayed in the Choose a  Band drop down menu        Note     This is only a demonstration  To fully describe the band you must edit the  file workdir apps Demos src example auction NewTicketAuction  java           To remove a band  select the Menu soft key and choose 5  Navigate to a band then  choose Select to mark the check box  You can select multiple bands  Choose the Save  soft key     To display the current settings for ticker display  updates  alert volume  and date   select the Menu soft key and choose 6  If desired  use the arrow keys and the select  key to change these values  Choose the Save soft key     Java ME Platform SDK Help   April 2009    ManyBalls    This MIDlet starts with one ball traveling the screen  Use the up and down arrows to  accelerate or decelerate the ball speed  fps   Use the right or left arrows to increase  or decrease the number of balls     MiniColor    This MIDlet sets an RGB value  It has two modes  a version in which you use  navigation keys to change color values  and a virtual version where you press  navigation keys to control a virtual keypad     Keyboard controls work as you would expect  First cursor up or down to highlight a  color  and then use left and right keys to lower and raise the valu
84. d is recorded     m The memory usage you observe with the emulator is not exactly the same as  memory usage on a real device  Remember  the emulator does not represent a real  device  it is just one possible implementation of its supported APIs     See also  Running the Java Heap Memory Observe Tool    Running the Java Heap Memory Observe Tool    The Java Heap Memory Observe tool is launched from the command line as follows     1  The following command starts the emulator from the  bin directory and opens a  sample application        emulator exe  Xdevice DefaultCldcMsaPhonel  Xdebug   Xrunjdwp transport dt socket suspend n server y address 51307   Xdescriptor C  Java_ME_platform_SDK_3 0 apps Games dist   Games jad  Xdomain maximum    2  In a separate command window  start the memory profiler from the  bin  directory  The port number must match the address in the Xrunjdwp call     memory profiler exe  host 127 0 0 1  port 51307    The profiler window opens     3  Click the Connect button and wait for the profiler to attach to the process  It may  take several seconds  After the connection  press Resume     4  To take a snapshot of the heap  click the Pause button on the bottom right  The  virtual machine is suspended while the profiler collects the snapshot information   The memory panel is then repopulated and the Resume button becomes active     See Viewing the Heap Snapshot    Java ME Platform SDK Help   April 2009    Viewing the Heap Snapshot    The memory monitor element
85. de    API    sr de    S API    sr de    sr de    sr de       sr de    tail id 226    tail id 229    tail id 234    tail id 238    tail id 239    tail id 248    tail id 256       tail id 280       Chapter 19 JSR Support    157    158 Java ME Platform SDK Help   April 2009    CHAPTER 20       JSR 75  PDA Optional Packages       The Java ME Platform SDK supports JSR 75  the PDA Optional Packages  PDAP  for  the J2ME Platform  JSR 75 includes two independent APIs     m The FileConnection optional package allows MIDlets access to a local device file  system     m The Personal Information Management  PIM  optional package includes APIs for  manipulating contact lists  address book   calendars  and to do lists     This chapter describes how the Java ME Platform SDK implements the  FileConnection and PIM APIs        FileConnection API    On a real device  the FileConnection API typically provides access to files stored in  the device s memory or on a memory card     In the Java ME Platform SDK emulator  the FileConnection API enables MIDlets to  access files stored on your computer s hard disk     The files that can be accessed using FileConnection are stored in subdirectories of  USER  HOME   javame sdk 3     work emulator instance   appdb   ilesystem For  example  the DefaultCldcPhone1 emulator skin comes with a root directory  installed called root1  which contains a Readme file and an empty directory named  photos  The full path of the file is    USER  HOME   javame sdk 3     wor
86. demo displays both static and animated images or videos  When  you are displaying an image  you can use the Options soft menu to change the  borders  If the images is animated  you can change the speed of the playback     Running UIDemo    UIDemo showcases a variety of MIDP user interface element implementations  Most  elements have some interactive capability  navigate and select  and some allow  keypad or keyboard input     Input interaction is similar across demos  You can choose items from lists or type in  data    This demo implements three list selection methods    m Exclusive  radio buttons    m Multiple  check boxes    m Pop Up  a drop list      Java ME Platform SDK Help   April 2009    When entering data  you can use the soft menu to apply one of the following input  types to text boxes and fields  note  some elements do not use all input types   When  a field is selected  the soft Menu label displays Qwerty  Open the menu and you see  the input types numbered 1 through 5     1  Qwerty  Any character on the keyboard  2  123  Any numeral   3  ABC  Any letter   4  Predict  Predicts next character based on prior input  5  Symbols  Any symbol    With the exception of Predict  these categories act as filters  For example  if you  assign 123 to a field and you type    abc     nothing is entered in the field     CustomItem  This demo features text fields  and text fields in table form  To type in  the table  select a cell  then click to open a text entry panel and type your
87. dependently as long as both the artist and the developer observe the  SVG document structure conventions     Picture Decorator    In this sample you use the phone keys to add decorations to a photograph  The key       values are    1 key shrink   2 key next picture   3 key grow   4 key help   5 key horizontal flip   6 ley vertical flip   7 key rotate counter clockwise  8 key previous picture  9 key rotate clockwise     display picker options       210 Java ME Platform SDK Help   April 2009    This demo provides 16 pictures for you to decorate   Use the 2 and 8 keys to page forward and back through the photos     To decorate  press   to display the picker  Use the arrow keys to highlight a graphic  object  The highlighted object is enlarged  Press Select to choose the current graphic  or press the arrow keys to highlight a different graphic  Press Select again to add the  graphic to the photo  When the decoration is added you see a red   on the graphic   This means it is selected and can be moved  resized  and manipulated        Use the navigation arrows to move the graphic  Use 1 to shrink the graphic  and 3 to  enlarge the graphic  Use 5 or 6 to flip  and 7 or 9 to rotate  When you are satisfied  with the position  press Select  Note that a green triangle appears  This is a cursor   Use the navigation keys to move the green triangle around the picture  When the  cursor is over an object it is highlighted with a red box  Press Select  The red    indicates the object is select
88. ders    The  window    Choose directory to search for platforms    opens     2  This utility finds Java ME platforms and emulators in the scope you specify  and  displays them in the Platform Folders window  Choose a folder  or type in a  location  for example  C  Y      3  If you detected the platform you want  click the box in front of the platform  You  see a green check indicating the platform is to be installed  Uncheck any  platforms you do not want to install and click Next     Detected Platforms    When the platform is discovered and installed  you see three tabs that display  information on the platform  Description  Javadocs  and Sources  The Descriptions  tab displays platform details  such as supported devices  profiles  configurations   and optional packages     Click Finish     Some emulators might fail to install  If this happens you can try to perform a custom  installation as described in Choose Custom Java ME MIDP Platform Emulator     Choose Custom Java ME MIDP Platform  Emulator    You can use the Add Java Platform wizard to install an emulator that is not UEI  compliant  To see this page  select Tools    Java Platforms  and click the Add Platform  button  Choose Custom Java ME MIDP Platform Emulator and click Next     See General Information  Bootstrap Libraries  and Sources  amp  Javadoc     General Information    This wizard page defines the general parameters for an emulator that is not UEI  compliant  You must supply this information     Platform Home
89. ding Profiler Data 83   Viewing Profiler Data 83   Saving Customized Snapshots and Images 86    Loading a Customized Snapshot 86    Monitoring Network Traffic 87   Using the Network Monitor 87  Filtering Messages 89  Sorting Messages 89    11     12     13     14     15     16     Saving and Loading Network Monitor Information 90    Clearing the Message Tree 90    Lightweight UI Toolkit 91  Adding the LWUIT Library 91  Using the LWUIT Resource Manager 92    Security and MIDlet Signing 93  Security Domains 94  Setting Security Domains 95  Specifying the Security Domain for an Emulator 95  Specifying the Security Domain for a Project 95  Signing a Project 95  Managing Keystores and Key Pairs 96  Working With Keystores and Key Pairs 97  Managing Root Certificates 99    BD JSupport 101  Creating a Stubs for BD J Platform Project 101  Compiling  Deploying  and Running a Stubs for BD J Platform Project 103    CLDC Emulation on a Windows Mobile Device 105  CLDC Emulator Installation for a Device Running Windows Mobile 105    Testing On device Debugging 115    Installing CLDC Emulation on a Windows Mobile Emulator 117  CLDC Installation for Windows Mobile 117    On device Debugging 127   On device Debugging Procedure 127  Attach a Command Line Debugger 128  Attach a Graphical Debugger 128    17     Sample CLDC Debugging Session 129    Command Line Reference 131  Launching the SDK 132  Running the Device Manager 132  Managing Device Addresses  device address  133  Running the Emulator
90. djusting Access Control    Access control permissions and PIN properties can be specified in text files  When  the first APDU or Java Card RMI connection is established  the implementation  reads the ACL and PIN data from the ac1  slot number in the workdirN  emulator instanceNappdb directory  For example  an access control file for slot 0  might be     C  Documents and Settings  User javame sdk 3 0 work emulator_instance   appdb acl1_0    If the file is absent or contains errors  the access control verification for this slot is  disabled     The file can contain information about PIN properties and application permissions     Specifying PIN Properties    PIN properties are represented by a pin_data record in the access control file           pin_data    id number  label string  type bed   ascii   utf   half nibble   iso  min minLength  max maxLength  stored storedLength  reference byte  pad byte   optional  flag case sensitive   change disabled   unblock disabled  needs padding   disable allowed   unblockingPIN             Chapter 24 JSR 177  Smart Card Security  SATSA  187    188    Specifying Application Permissions    Application permissions are defined in access control file  acf  records  The record  format is as follows        acf AID fnumbers separated by blanks    ace    root CA name  apdu    eight numbers separated by blanks    jcrmi      classes    classname  j  hashModifier string  methods    method name and signatiure  j  j  pin  apdu      id number  verify   cha
91. e File System Root Entry dialog opens   enter the name for this root  A deep copy of the selected directory is placed into  the emulator   s filesystem with the specified root name     To make a directory inaccessible to the FileConnection API  select it in the list and  click Unmount  A dialog opens asking for the name of this root  The selected root  is unmounted and moved to the Unmounted roots list     To completely remove a mounted directory  select it and click Unmount  amp  Delete     To remount an unmounted directory  select it and click Remount  The root is  moved to the mounted roots list     To delete an unmounted directory  select it and click Delete  The selected root is  removed from the list     PIM API    The Java ME Platform SDK emulator stores contact  calendar  and to do information  in standard files on your desktop computer   s hard disk  All information is stored in     USER_HOME javame sdk 3  0 work emulator instance appdb filesystem skin pim     This directory is shared by all running emulators  Lists are stored in subdirectories  of the contacts  events  and todo directories  For example  a contact list called  Contacts is contained in   USER  HOME  javame sdk 3  0 work emulator instance   appdb    ilesystem ski  n Contacts     Inside the list directory  items are stored in vCard   vcs  or vCalendar   vc     format  see http    www imc org pdi    Contacts are stored in vCard format   while calendar and to do items are both stored in vCalendar format  
92. e WMA Console and WMA Console Interface    Launching the WMA Console    To launch the WMA console  select Tools    WMA Console  If the WMA Output  window is not visible  select Window    Output    WMA Console Output     215    Note  WMA console operations can also be performed from the command line  See  Running WMA Tool     WMA Console Interface    To view this interface  select Tools    WMA Console  If the WMA Output window is  not visible  select Window    Output    WMA Console Output     The WMA Console user interface has a tab for sending messages and an output  window that displays incoming messages     As shown here  the console has a phone number  and it is displayed as part of the  WMA console tab label        JR wma Console   987654321 x   Start Page x   apoj  SendCBS    Send mms          To Clients       123456789             123456789 Add Client    LI DefaultCldcMsaPhone  Application view Help  Phone number  123456789                   Port        R  Text Message   Binary Message                    o Osun             SMS to 123456789                                        WMA Output Window  y WMA Console is running  using phone number 987654321                 Waiting for SMS on port 50000          To set the phone number  select Tools  gt  Options  gt  Miscellaneous  On the WMA  Console tab  edit the Assigned Phone Number field and click OK  If the number is  available it is assigned to the console immediately  If the number is in use it is  assigned to the conso
93. e directory    The arguments are as follows     Chapter 17 Command Line Reference 139    file   JAR file to create    m manifest   Manifest file for the MIDlets    m class directory   Directory containing the application s classes    m resource directory   Directory containing the application s resources    For example  to create a JAR file named MyApp  jar whose classes are in the    classes directory and resources are in the res directory  use the following  command        jar cfm MyApp jar MANIFEST MF  C classes    C res    Create a JAD file containing the appropriate attributes as specified in the MIDP  specification  You can use any text editor to create the JAD file  This file must have  the extension   jad        Note     You must set the MIDlet Jar Size entry to the size of the JAR file created  in the previous step           For example  a JAD file might have the following contents     MIDlet Name  MyMIDlet  MIDlet Vendor  My Organization  MIDlet Version  1 0    MIDlet Jar URL  MyApp jar  MIDlet Jar Size  24601          140    Command Line Security Features    The full spectrum of the Java ME Platform SDK s security features are also available  from the command line  You can adjust the emulator s default protection domain   sign MIDlet suites  and manage certificates     m Changing the Emulator s Default Protection Domain  m Signing MIDlet Suites  jadtool exe   m Managing Certificates  MEKeyTool     Java ME Platform SDK Help   April 2009    Changing the Emulator   s 
94. e following actions   m Choose 2 to GET information from the selected page     m Choose 3 to obtain the POST information from the selected page        m Choose 4 to display the HEAD attributes for the page     m Choose 5 to bring up the current list of web pages  You can chose a new page or  add your own page to the list  To specify a new URL  choose the Add soft button   then select the Menu soft button and choose OK  The screen displays http       Type in the rest of the URL  making sure to end with a slash      For example  http   www internetnews com   Press the OK soft button  The Http Test  screen shows your new URL and prompts for an action     FontTestlet    This MIDlet shows the various fonts available  Proportional  Regular  Regular Italic   Bold Plain  and Bold Italic  Choose 1 or 2 from the menu to toggle between the  system font  sans serif  and the monospace font     Stock    Like the Http demonstration  This sample uses an HTTP connection to obtain  information  Use the same preparation steps as Http     Run the Demos project and launch the Stock MIDlet     By default  the screen displays an empty ticker bar at the top  Below the ticker  the  menu list shows four applications  Stock Tracker  What If  Alerts  and Settings  You  must add stock symbols before you can use the first three applications     Add Stock Symbols to the Ticker  To add a stock symbol to the ticker  use the navigation arrows to select Settings   Select Add Stock     The display prompts you t
95. e implementation   s task because it reduces the number of calculations  required to show a scene     In general  the best way to improve the rendering speed of 3D scenes is to make  some compromises in quality  The Mobile 3D Graphics API includes rendering hints  so that applications can suggest how the implementation can compromise quality to  improve rendering speed     Content for Mobile 3D Graphics    Most mobile 3D applications use scene graphs in resource files to describe objects   scenes  and characters  Usually it is not programmers but graphic designers or artists  who create the scene graphs  using standard 3D modeling tools     Chapter 26 JSRs 184  226  and 239  Graphics Capabilities 205    206    Several vendors offer tools for authoring content and converting files to the JSR 184  format  Superscape  http    superscape com   is one such vendor     Because it is relatively difficult to create and manipulate 3D graphics content in an  application using the immediate mode API  most applications rely as much as  possible on a scene graph file  By putting as much as possible into the scene graph  file at design time  the application   s job at runtime is considerably simplified     Running Demo3D Samples    Demo3D contains three MIDlets that demonstrate JSR 184 features     Life3D    Life3D implements the popular Game of Life in three dimensions  Live cells are  represented by cubes  Each cell has 26 possible neighbors  including diagonals   For  each step of the an
96. e is copied to the  1ib subdirectory at build time     Creating JAR and JAD Files  Packaging     To view this property page  right click on a project and choose Properties  In the  Properties window Build category  choose Creating JAR     You can set the following options     JAD File Name  Name of the JAD file created by the project sources  The file name  must have a  jad extension  Does not apply to CDC projects     JAR File Name  Name of the JAR file created by the project sources  The file name  must have a  jar extension     Compress JAR  If checked  the JAR file is compressed     Obfuscating    To view this property page  right click on a project and choose Properties  In the  Properties window Build category  choose Obfuscating     Use the Obfuscation properties page to set the level of obfuscation for project files     Move the Obfuscation slider to set the level  The Level Description window  describes the impact each level has     You can add more obfuscation parameters in the Additional Obfuscation Settings  window  The default obfuscator included with the SDK is ProGuard  You can find  more details about command parameters for this obfuscator at    http    proguard sourceforge net     Signing    To view this property page  right click on a project and choose Properties  In the  Properties window Build category  choose Signing  These properties allow you to  enable signing and assign key pairs to a CLDC project  See Security Domains     Sign Distribution  Check th
97. e listed in the table     Removing a MIDLet    Select a MIDlet and click Remove to delete it from the list     Changing MIDlet Display Order    The list order determines the order in which the MIDlets are displayed  Select a  MIDLet and select Move Up or Move Down to change its position     Chapter 5 Viewing and Editing Project Properties 55    Push Registry    To view this page  right click on a project and choose Properties  Select the  Application Descriptor category  and select the Push Registry tab     Adding a Push Registry Entry  Follow these steps to edit a Push Registry entry   1  Click Edit    to open the Edit Push Registry window     2  Enter Class Name  Sender IP  and Connection String values   m Class Name  The MIDlet s class name     m Sender IP  A valid sender that can launch the associated MIDlet  If the value is  the wildcard      connections from any source are accepted  If datagram or  socket connections are used  the value of Allowed Sender can be a numeric IP  address     m Connection String  A connection string that identifies the connection protocol  and port number     3  Click OK     The new values are listed in the table  A push registration key is automatically  generated and shown as an attribute in the MIDlet suite s Java Application  Descriptor  JAD  file  To view the JAD file  choose the Application Descriptor  Property settings from the left pane     To make use of the Push Registry  you must also have permission to access the Push  Registry AP
98. e of the selected  color     The virtual keyboard requires an extra step to select each control before you can  change its value  In virtual mode  use the navigation keys to highlight a virtual  control  then press select to activate the control     1  Click the Virtual soft key   The application displays a 4 way control     The up and down keys select a color  The left and right keys lower and raise the  value of the selected color     Use keyboard navigation keys to choose a control on the display  then press  Select     2  Select the first bar  blue    A white box surrounds the selected color     Blue and has a value of 0 so you don   t see any blue yet     3  Choose the right control and press select     Each click raises the value by 32     Chooser  The Chooser application uses a variety of controls to change text color  background  color  and fonts     m Choose Menu  gt  Text Color  Change the color as described for MiniColor and  select the OK soft button     m Choose Menu  gt  Background Color  Change the color as described for MiniColor  and select the OK soft button     Chapter 3 Using Sample Projects 31    32    m Choose Menu  gt  Fonts  You can change the font Face  Style  and Size     Cursor up and down to highlight a property  then select  The left and right keys  jump between lists  Up and down keys move item by item     Click OK to continue     HttpExample    This sample makes an HTTP communication  A popup confirms the transaction was  successful     HttpView
99. e output console is not visible  select Window  gt  Output  gt  Output to open it     If the project you want to debug is not main  right click and select Set as Main  Project     Only one debug process can run on a port  In the device selector  right click on a  device and look for the Debug Port property  By default the port number is 51307   If you are debugging on 51307 and you wish to debug an additional project  you  must run on a different device and change its port number property     This procedure features command line debugging  but you can use a graphical  debugger in a similar fashion     1     Select the project you want to debug and select Run    Run Project in Debug Mode  or click the Run Main Project in Debug mode icon on the toolbar     The first time you debug you see this dialog     127    128    B Run in Debug Mode note    The FPDemo is running in debug mode   The debugging port For DefaultCldcMsaPhone1 device is set to 51307   You can use debugger  e g  Netbeans Debugger  and attach it to this port     For more information refer to the help here        2  Make note of the debugging port for the device  and click OK  If you suppress  this dialog you can still get the port number from the Output window  Look for  the message    Starting emulator with port number port number        The application is now deployed and started on the connected device  You are  ready to attach a debugger     See Attach a Command Line Debugger  Attach a Graphical Debugger and S
100. e various images and  animations  The applications  focus on curves  Click the AA  icon to see how antialiasing  affects appearance     Click through the tabs to view the  controls and animations     Must be run on an external BD J  platform  See  Compiling   Deploying  and Running a Stubs  for BD J Platform Project        Chapter 3 Using Sample Projects 23       Configuring the Web Browser and Proxy  Settings    If you are behind a firewall you might need to configure the proxy server so that  MIDP applications using web services can succeed     Note     CDC emulators do not work through a proxy  Communications such as  downloading images from the Internet fail on CDC emulators     The settings are typically the same as those you are using in your web browser   1  Select Tools  gt  Options   2  Select the General options icon     3  In the Web Browser field  choose the browser that will be affected by these proxy  settings  Click Edit to add or remove a browser from the dropdown list   4  Choose a Proxy Setting   m No Proxy  m Use System Proxy Settings  m Manual Proxy Settings    To set the HTTP Proxy  fill in the proxy server address field and the port  number     The HTTP Proxy is the host name or numeric IP address of the proxy server to  use to connect to HTTP and FTP sites  The Proxy Port is the port number of the  proxy server     To set the HTTPS or Socks proxy  click More and fill out the Advanced Proxy  Options form        Resolving Reference Problems  Sometimes whe
101. ect Files and Adding  Files to a Project     See also  Building a Project  Building a Project from the Command Line     CLDC Projects    The CLDC MIDP platform is based on the Mobile Information Device Profile and Connected  Limited Device Configuration  JSRs 118 and 139      A MIDP application  a MIDlet   is deployed as a MIDlet suite  A MIDlet suite is  distributed as a Java archive  JAR  file and a Java Application Descriptor  JAD  file     The JAR file includes the Java classes for each MIDlet in the suite  Java classes  shared between MIDlets  resource files  and other supporting files  The JAR file also  includes a manifest describing the JAR contents and specifying attributes the  application management software  AMS  uses to identify and install the MIDlet  suite     Java ME Platform SDK Help   April 2009    The JAD file contains attributes that allow the AMS to identify  retrieve  and install  the MIDlets in a project  The SDK automatically creates JAD and JAR files when you  build the project     When the application is run  the name of the main application class is passed to the  Java virtual machine  This class must include a method named main   that handles  the application   s class loading  object creation  and method execution  The project  manages its own life cycle and system resource needs  When the main   method  exits  the application terminates     See Creating a CLDC Project  Working With Projects  and Viewing Project Files     CDC Projects    The CDC p
102. ed        Chapter 26 JSRs 184  226  and 239  Graphics Capabilities 211    212    To remove a decoration  a property   select an object  then click the Menu soft key   Press 2 to remove a property     Location Based Service    Launch the application  A splash screen  also used as the help  appears  The initial  view is a map of your itinerary   a walk through San Francisco  The bay  in blue  is  on the right of your screen  Press 1 to start following the itinerary  The application  zooms in on your location on the map  Turn by turn directions appear in white  boxes on the horizontal axis  While the itinerary is running  Press 7 to rotate the map  counter clockwise  Note  the map rotates and the text now appears on the vertical  axis  Press 7 again to restore the default orientation  Press 4 to display the help  screen     Right on Drumm       PlaySVGImageDemo    Displays a Duke image  Select the Virtual soft key to display a virtual navigation  pad     Java ME Platform SDK Help   April 2009    Running SVGContactList    This application uses different skins to display the same contact list information and  a news banner  The skins have different colors and fonts     Select SVGContactlist skin 1  or SVGContactlist skin 2   then click Launch     Use the up and down arrows to navigate the list of contacts  The highlighted name  is marked with a special character  a  gt  or a dot  and is displayed in a larger font     Allan Shaw    Andrew Smith  Archie Stoddart    e Arthur Warner  
103. edited later by changing the  project properties     The project provides a basic infrastructure for CLDC development  You provide  source files  resource files  and project settings as needed   1  Select File    New Project    The New Project wizard opens  Java ME SDK is the only category     2  Follow the prompts in the New Project wizard  consulting Help if necessary  See  Choose Project  Name and Location  Platform Selection  and Specify WTK Project     3  To run the new project  follow the steps in Running a Project  except select your  new project instead of a sample project     4  Be sure to exit or close the application when you are finished     Once the emulator is launched  it runs as an independent process  Pressing the  red stop button in the SDK user interface or closing the SDK does not stop the  application running in the emulator     Applications usually provide a way to terminate  For example  most of the  samples offer an Exit soft key  or an option in the soft menu  You can close the  application and leave the emulator running  so you do not have to wait for the  emulator to open the next time you run the project      If you want to close the emulator and stop the project build process  select  Application    Exit     Now that the project has been created  you can modify its properties as described in  the following topics  Viewing General Project Properties  Selecting a Platform   Editing Application Descriptor Properties  Building a Project  Running a MID
104. ee a quote from Shakespeare s Romeo and Juliet  on the device screen     You can vary the above procedure to use a local WSDL file  Open the following web  page in a browser        http   www xmlme com WSShakespeare asmx WSDL    Save it to a local file  For example  c   ws WSShakespeare wsd1  Follow the  procedure above  except at Step 4  specify the local file name        Running JSR172Demo    JSR172Demo shows how to access a web service from a MIDlet  The web service is  already running on an Internet server  and it conforms to the J2ME Web Services  Specification     If you are using a proxy server  you must configure the emulator s proxy server  settings as described in Configuring the Web Browser and Proxy Settings  Build and  run the example     JSR172Demo contains a single MIDlet named Server Script  Launch it and follow the  prompts  You can browse through simulated news headlines  all of which are  retrieved from the web service     Chapter 283 JSR 172  Web Services Support 183    184 Java ME Platform SDK Help   April 2009    CHAPTER 24       JSR 177  Smart Card Security   SATSA        The Security and Trust Services APIs  SATSA  provide smart card access and  cryptographic capabilities to applications running on small devices  JSR 177  the  SATSA specification  defines four distinct APIs as optional packages     m SATSA APDU   Enables applications to communicate with smart card  applications using a low level protocol    m SATSA JCRMI   Provides an alternate method 
105. elopment environment from  http   www javafx com      When your application is complete  you can use the Java ME SDK to run its JAD or  JAR file on an emulator or device  In the Device Selector  right click on a device and  select Run JAR or JAD    from the context menu  then browse to select the file     Chapter2 Java ME Platform SDK Features 7          Device Selector   I x  E CDC  Java TM  Micro Edition SDK 3 0  H CLDC  Java TM  Micro Edition SDK 3 0  B JavaFX  Java TM  Micro Edition SDK 3 0  DefaultFxPhone1  E  ETIAM       Run Project b  Run Project via OTA  gt     Run JAR or JAD          Device Information    Properties          See also  http    www javafx com        Managing Java Platforms    To view the Java Platform Manager  select Tools  gt  Java Platforms  Alternatively   right click on a project  choose Properties from the context menu  select Platform   and select the Manage Emulators button     The Java Platform Manager is a tool for managing different versions of the Java  Development Kit  JDK  and customizing Java platforms that your applications  depend on  You can register new platforms or add source files and Javadoc     documents to the existing platforms  For Java ME purposes  the platforms are  emulators or SDK platforms for mobile devices     The Java ME Platform SDK pre registers CDC  J2ME     CLDC and MIDP  and  J2SE     the JDK serves as the default platform      The J2SE platform includes the Java SE SDK  The CDC platform includes the CDC  and BD J 
106. emotely  virus checking software can  prevent them from running  If this happens  the project compiles  but the  emulator never opens  In the console you see warnings that the emulator cannot  connect     Consider configuring your antivirus software to exclude runMidlet exe and  cvm exe from checking     See also Troubleshooting        Sample Project Overview    The Java ME Platform SDK includes demonstration applications that highlight some  of the technologies and APIs that are supported by the emulator     Most demonstration applications are simple to run  Running a Project contains  instructions for running most demonstrations  Sample projects usually have some  additional operation instructions     Chapter 3 Using Sample Projects 21    TABLE 3 1 lists all the MIDP CLDC demonstration applications that are included in  this release           TABLE 3 1 MIDP CLDC Sample Projects   Sample Optional Package Description Instructions   AudioDemo MMAPI 1 1 Demonstrates audio capabilities  including Running AudioDemo  mixing and playing audio with an  animation    BluetoothDemo JSR 82 Demonstrates device discovery and data Running the Bluetooth  exchange using Bluetooth  Demo   CHAPIDemo JSR 211 A content viewer that also uses Running the CHAPIDemo  MediaHandler  Content Browser   CityGuide JSR 179 A city map that displays landmarks based Running the CityGuide  on the current location  Sample Project   Demo3D JSR 184 Contains MIDlets that demonstrate how to Running Demo3D Samples  
107. ent in each packet between  emulators  Shorter packet values result in more packets and more packet overhead     Bluetooth Internal Properties    In the Bluetooth section of the preferences window  the Device discovery timeout is  the amount of time  in milliseconds  the emulator waits while attempting to locate  other devices in the simulated Bluetooth environment     Bluetooth Address of Next Emulator is the Bluetooth address to be assigned to the  first emulator instance  Subsequent instances of the emulator receive an  automatically generated address     Java ME Platform SDK Help   April 2009    Bluetooth System Properties    The System Properties tab in the Bluetooth section of the preferences contains  properties that can be retrieved in an application using the get Property    method  in javax bluetooth LocalDevice        The Bluetooth properties are fully described in the JSR 82 specification     Bluetooth BCC Properties    The Bluetooth Control Center  BCC  controls Bluetooth settings  Some devices might  provide a GUI to customize Bluetooth settings  In the Java ME Platform SDK  the  BCC is configured using the BCC Properties tab of the Bluetooth preferences  The  properties are as follows     TABLE 21 1 BCC Properties          Property Description  Enable Bluetooth If this property is disabled  LocalDevice getLocalDevice    support throws a BluetoothStateException and no connections can be    created  This is useful to test the behavior of your application on  devi
108. ents  To send an MMS message from the WMA  console  click the Send MMS button     The window for composing MMS messages has two tabs  one for recipients and one  for content  On the Header tab  begin by filling in a subject and recipient     Chapter 27 JSR 205  Wireless Messaging API  WMA  Support 217    To add more recipients  click the Add button  For example  to send a message to a  running emulator whose number is 5550001  type 5550001 in the To field     To remove a recipient  first select its line  then click Remove     To add optional media files  Parts  to the message  click the Parts tab and click Add   Most media files will have information to fill the Content Location  Content ID   Mime Type  text plain for simple MMS   and Encoding fields  but you can edit these  fields as well     To remove a part  select it and press Remove     Receiving Messages in the WMA Console    The WMA console window has its own phone number displayed on the WMA  Console tab  You can send messages from your applications running on the emulator  to the WMA console     Received messages are displayed in the WMA output window        218    Running WMADemo    The WMADemo sample project shows how to send and receive SMS  CBS  and MMS  messages     The Java ME Platform SDK offers a flexible emulation environment to support  messaging  Messages can be exchanged between emulator instances and can be  generated or received using the WMA console utility     Because this sample makes use of the push
109. er itself  and  you can manage a database of landmarks        Setting the Emulator   s Location at  Runtime    You can specify the simulated location of the emulator while it is running  To do  this  choose View  gt  External Events Generator from the emulator window   s menu   Click the Location tab     197    External Events Generator    Location File Connection       Location Provider       State   Available       Orientation       State   Supported                Azimuth J I I I   I I I   II I   I LI I I I   I I I    0 60 120 180 240 300 360          Pitch   I LJ   I I   I I    y   90  60  30 0  J  0                         Roll EE   180  120  60           Magnetic Orientation    Location       Latitude    14 390106818          Longitude  50 099887796          Altitude  310 0          Speed 298 191253662          Course 0 0          Script C  Java_ME_platform_SDK_3 0 apps city    Time  00 05 005                               198 Java ME Platform SDK Help   April 2009    In the Location area of the tab  you can fill in values for the latitude  longitude   altitude  speed  and course  Applications that use the Location API can retrieve these  values as the location of the emulator     For more elaborate testing  you can set up a location script that describes motion  over time  Location scripts are XML files consisting of a list of locations  called  waypoints  and associated times  The Java ME Platform SDK determines the current  location of the emulator by interpolating b
110. ercentage of objects that are in the old generation     See Virtual Machine Memory Profiler  Java Heap Memory Observe Tool  and  Running the Java Heap Memory Observe Tool       Running WMA Tool    To send and receive SMS  CBS  and MMS messages from the command line  use  installdir  bin wma tool exe     The device manager must be running before you launch wma tool   When the tool is started  it outputs the phone number it is using     Each protocol has send and receive commands  The requested command is passed to  the tool as a first argument  Possibilities are   m smsreceive   receives SMS messages    m cbsreceive   receives CBS messages    Chapter 17 Command Line Reference 147    m mmsreceive   receives MMS messages  m smssend   sends SMS message  m cbssend   sends CBS message    m mmssend   sends MMS message    The sending commands send the specified message and exit  The receiving  commands print incoming messages until they are explicitly stopped     Each command has its own arguments     smsreceive    smsreceive   o outputDir    t timeout    q     o outputDir  Store binary contents to outputDir     t timeout  Non interactive mode  waits only timeout seconds for messages    f  Store text contents as files instead of printing them      q Quiet mode     cbsreceive    cbsreceive   o outputDir    t timeout    q     o outputDir  Store binary contents to outputDir     t timeout  Non interactive mode  waits only timeout seconds for messages        Store text contents as files i
111. esumes the animation   If you press 0  pressing 5 starts the animation from the beginning     Java ME Platform SDK Help   April 2009    The SVG file contains a description of how the various image elements evolve over  time to provide this short animation     In the following code sample  the JSR 226 javax microedition m2g SVGImage  class is used to load the SVG resource  Then  the  javax microedition m2g SVGAnimator class can take all the complexity of  SVG animations and provides a java awt Component or  javax swing JComponent which plays the animation  The SVGAnimator class  provides methods to play  pause and stop the animation           import javax microedition m2g ScalableGraphics   import javax microedition m2g SVGImage     String svgURI         SVGImage svgImage    SVGImage  SVGImage createImage svgURI  null    SVGAnimator svgAnimator   SVGAnimator createAnimator  svgImage          If running a JSE applet  the target component is a JComponent   JComponent svgAnimationComponent    JComponent   svgAnimator getTargetComponent       svgAnimator play       svgAnimator pause          svgAnimator stop             Create SVG Image from Scratch    This demo builds an image using API calls  It creates an empty SVGImage   populates it with a graphical content  and then displays that content     Bouncing Balls    Bouncing Balls plays an SVG animation  Press 8 to play  5 to start  and 0 to stop  If  you press 8  pressing 5 resumes the animation  If you press 0  pressing 5 starts 
112. et device in the user interface  or if you run the  emulator from the command line it can be used as an argument  For example     emulator  Xdevice CldcWinceEmul1       See Testing On device Debugging     Java ME Platform SDK Help   April 2009       Testing On device Debugging    This procedure provides instructions for running the FPDemo sample project on a  device running Windows Mobile     Before starting this procedure     m Integrate the device as described in CLDC Emulator Installation for a Device  Running Windows Mobile     m Confirm the device is connected and that it appears in the Device Selector  window     m If the output console is not visible  select Window  gt  Output  gt  Output to open it     This procedure features command line debugging  but you can use a graphical  debugger in a similar fashion     1  In the Java ME Platform SDK  select File    Open Sample Project    FPDemo   2  In the Projects window  right click on FPDemo and select Properties     3  Choose the Platform category  From the Device drop down menu  select the name  of the connected device  Click OK     4  Select FPDemo and select Run    Run in Debug Mode  or click the corresponding  icon on the toolbar     The application is now deployed and started on the connected device     Note the Port number displayed in the Output console   5  Open a Windows shell     6  Start jdb with the following command     db  sourcepath installdir apps FPDemo src  connect  com sun jdi SocketAttach hostname 127 
113. etNextApp jad    Java ME Platform SDK Help   April 2009    Given the above command   Xautotest causes the emulator to repeatedly  install  run  and remove the first MIDlet from the MIDlet suite provided through  the HTTP URL  Once the emulator starts  it queries the test harness  which then  downloads and installs the TCK MIDletAgent     m  Xdescriptor  jad file   Run an application locally using the given JAD file   m  Xdomain domain name   Set the MIDlet suite s security domain   m  Xjam command application    Run an application remotely using the Application Management Software  AMS   to run using OTA provisioning  If no application is specified with the argument   the graphical AMS is run  The commands are as follows     install jadJile url   force   list   storageNames   Install the application with the specified JAD file onto a device        force  If an existing application has the same storage name as the application  to be installed  force removes the existing application before installing the  new application        list  List all the applications installed on the device and exit  The list is  written to standard output before the emulator exits     a storageNames  List all applications installed on the device  The list is written  to standard output before the emulator exits  Each line contains one storage  name in numerical order  The list contains only the name so the order is  important  For example the first storage name must be storage number 1     Also   run 
114. ethoven s 9th sympony    A4A     Ad4A A411  4e 4444  e   ALL Te eT Ad peek  111       JD  0000444       444     AL JD   1 1 1 EC 444 pe  ADAP     4A4 4d    A44 pee 1   pee 1  be G OG HK HK KH  A4A     A4A Ad 11 pee   444 pe x A44 de   AAA KAAAK ERED DEREK DOE RH x22 eee       Running the MMAPI Sample Project    The following projects demonstrate ways to implement MMAPI 1 1  See Running  AudioDemo  Running MMAPIDemos     Running AudioDemo    Demonstrates audio capabilities  including mixing and playing audio with an  animation  Select a MIDlet from the list  and from the menu  select 1  Launch     m Audio Player     Select a sound clip and press the Play soft button  Click Back to return to the list  of clips     m Bouncing Ball  Select No Background and press the Play soft button  Two balls  randomly bounce in the screen  emitting a tone whenever they contact a wall     Wave background  tone seq background  and MIDI background play the same  two ball audio visual sequence with the additional audio background     m Mix Demo shows that different audio formats can play simultaneously  Select a  MIDlet and press the Play soft button     Tone Wav   The audio clip starts playing and the Tone soft button is displayed   Press the Tone button to hear a tone playing over the original audio clip     Tone ToneSeq   The audio clip starts playing and the Tone soft button is  displayed  Press the Tone button to hear a tone playing over the original audio  clip     ToneSeq Wav   The tone seq
115. etween the points in the location script   Here  for example  is a simple location script that specifies a starting point  time    0   and moves to a new point in ten seconds         lt waypoints gt    lt waypoint time  0   latitude  14  longitude  50  altitude  310    gt     waypoint time  10000   latitude  14 5  longitude  50 1  altitude  215    gt    lt  waypoints gt           The altitude measurement is in meters  and the time values are in milliseconds     Use a text editor to create your location script  You can load it into the external event  window by pressing the Browse button next to the Script field  Immediately below  are controls for playing  pausing  stopping  and moving to the beginning and end of  the location script  You can also drag the time slider to a particular point     Some devices are also capable of measuring their orientation  To make this kind of  information available to your application  change the State field in the Orientation  box to Supported and fill in values for azimuth  pitch  and roll  The Magnetic  Orientation checkbox indicates whether the azimuth and pitch measurements are  relative to the Earth   s magnetic field or relative to true north and gravity     To test how your application handles unexpected conditions  try changing the State  field in the Location Provider box to Temporarily Unavailable or Out of Service   When your application attempts to retrieve the emulator   s location  an exception is  thrown and you can see how you
116. fied  13 15 45  20 Mar 2009    EveningFountain2 180 jpg Attributes     EveningSidewalk1 180 jpg  flax3 j pg M Read    hollyhock3 jpg  v4 Write    hydrangea youg jpg      MidDayDuck_180 jpg Hidden  MorningBegonia 180 jpg          Chapter 20 JSR 75  PDA Optional Packages 163    164       The PIM API    The JSR75 PIM APIs example demonstrates how to access personal information  like  contact lists  calendars  and to do lists  After you launch the example  choose a type  of list from the main menu     In this example application  each type of list works the same way and each list type  contains a single list  For example  if you choose Contact Lists  there is a single  contact list called Contacts  Event Lists contains a single list called Events  and To Do  Lists contains a single list named To Do     Select a list type    Select    Once you ve selected a list type and chosen the specific list  you can view all the  items in the list  If this is the first time you ve run the example  the list is probably    empty     To add an item  choose New from the menu  The application prompts you for a  Formatted Name for the item  You can add more data fields to this item using option  3  Add Field  in the menu  You see a list of field names  Pick as many as you like   You can fill in the field at any time     Java ME Platform SDK Help   April 2009    PIM Item    ME SDK Address Feedback  mesdk feedback sun com        To save the list item  choose Commit  option 5  from the menu     To ret
117. files and capturing video  On a real device with a camera  video capture can be  used to show the user what the camera sees     Java ME Platform SDK Help   April 2009    Animated GIFs and video capture can be implemented using either a Form Item or  a Canvas  The Video demonstration includes all the possibilities  Animated GIF    Form  jar  shows an animated GIF as a Form Item  The form also includes some  information about the playback  including the current time  Choose the Snapshot  command to take a snapshot of the running animation  The snapshot will be placed  in the form following the animated GIF     m Animated GIF   Canvas  jar  shows an animated GIF in a Canvas  A simple  indicator shows the progress through the animation  Choose Snapshot to get a  still image of the current appearance  The snapshot is shown briefly  then the  display goes back to the animation     m Video Capture   Form simulates capturing video from a camera or other source  and showing it as an Item in a Form  Choose the Snapshot command to take a  snapshot of the captured video  The snapshot will be placed in the form following  the video capture     m Video Capture   Canvas simulates capturing video from a camera or other source  and showing it in a Canvas  Choose Snapshot to get a still image of the current  appearance  The snapshot is shown briefly  then the display goes back to the  video capture     m MPEG  Video   Form  MPEGI Video   Canvas  The MPECGI applications obtain MPEGs from the we
118. for communicating with smart  card applications using a remote object protocol     m SATSA PKI  Enables applications to use a smart card to digitally sign data and  manage user certificates     m SATSA CRYPTO   A general purpose cryptographic API that supports message  digests  digital signatures  and ciphers     The Java ME Platform SDK emulator fully supports SATSA  This topic describes  how you can use the Java ME Platform SDK to work with SATSA in your own  applications     For a more general introduction to SATSA and using smart cards with small devices   see the SATSA Developer s Guide  which is available at  http   java sun com j2me docs satsa dg      If you need to develop your own Java Card applications  download the Java Card  Development Kit  available at http    java sun com products javacard      185       186    Card Slots in the Emulator    Real SATSA devices are likely to have one or more slots that house smart cards   Applications that use SATSA to communicate with smart cards need to specify a slot  and a card application     The Java ME Platform SDK emulator is not a real device and  therefore  does not  have physical slots for smart cards  Instead  it communicates with a smart card  application using a socket protocol  The other end of the socket might be a smart  card simulator or it might be a proxy that talks with real smart card hardware     The Java ME Platform SDK emulator includes two simulated smart card slots  Each  slot has an associated socket t
119. for real  devices    m Using the Network Monitor   a Filtering Messages     Sorting Messages      Saving and Loading Network Monitor Information      Clearing the Message Tree       Using the Network Monitor    Follow these steps to monitor network traffic   1  In the Device Selector window  right click on a device and choose Properties     2  Check the Enable Network Monitor option  When you next run an application on  the device  the network monitor opens     You can also edit the device properties file to set netmon  enabled to true   The properties file is located in the device instance directory  as described in   javame sdk 3 0 work     3  Start your application     87    When the application makes any type of network connection  information about  the connection is captured and displayed        Device Information x   Start Page x   A   Network Monitor    x apala       Protocol Phone Url Time Active Capture    0 DefaultCldcPhone2     j localhost 5000 16m 11s        SOCKE      DefaultCldcPhone1 http   127 0 0 1 4600 400 ms    CHTTP  DefaultCldcPhonei    http   127 0 0 1 4600 280 ms   HTTP   DefaultCldcPhonei   http   127 0 0 1 4600 191 ms  CHTTP  DefaultCldcPhonei    http   127 0 0 1 4600 161 ms  DefaultCldcPhonel  j localhost 5555   DefaultCldcPhone2        5555   DefaultCldcPhonel  j localhost 5555   DefaultCldcPhone2        5555                QO   D C   O Ul   amp  on    i     DefaultCldcPhone2       5555  i      STESTISTISTISTIST IST  STIS  I   STISTISTIT    Default
120. ght a category  then use Select to check or uncheck  an item     When you are near a landmark  shown highlighted on the map   open the soft menu  and choose the Detail command to see more information  See Chapter 25 for more  details on location scripts     Java ME Platform SDK Help   April 2009    Settings       Chapter 25 JSR 179  Location API Support 201    202 Java ME Platform SDK Help   April 2009    CHAPTER 26       JSRs 184  226  and 239  Graphics  Capabilities       The Java ME Platform SDK offers three APIs that provide comprehensive  capabilities for interactive 2D and 3D graphics     The Mobile 3D Graphics  JSR 184  API for J2ME  JSR 184  provides 3D graphics  capabilities with a low level API and a high level scene graph API  This chapter  provides a brief overview and general guidelines for working with JSR 184     The Scalable 2D Vector Graphics  JSR 226  for J2ME  JSR 226  supports rendering  sophisticated and interactive 2D content     Java Bindings for OpenGL ES  JSR 239   JSR 239  provides a Java language interface  to the open standard OpenGL ES graphics API   m Mobile 3D Graphics  JSR 184       Choosing a Graphics Mode     Quality Versus Speed   a Content for Mobile 3D Graphics       Running Demo3D Samples  m Java Bindings for OpenGL ES  JSR 239   m Scalable 2D Vector Graphics  JSR 226       Running SVGDemo       Running SVGContactList    203       204    Mobile 3D Graphics  JSR 184     JSR 184 is a specification that defines the Mobile 3D Graphics  M3G  A
121. gle life or  three lives for a reduced price     To view your transactions in the emulator  select View  gt  External Events Generator  and click on the Payment Transactions tab  Transactions for this specific instance of  the emulator are displayed     External Events Generator    Location Sensors  File Connection Payment Transactions      Past Transactions       Date Application Feature State  10 5 08 4 44 AM  JBricks Buy Level Successful  10 5 08 4 44 AM  JBricks Buy Life Successful             Missed Transactions    Date Application Feature          reer mere          234 Java ME Platform SDK Help   April 2009    In addition  you can view all transactions passing through the SDK   s payment  system  Choose File  gt  Utilities  then select Payment Console  A transaction in the  console looks something like the following     PSP Console running  using phone number  5550001    PSP Server running at https   localhost  1   Received Payment Request from 127 0 0 1  Credit card issued by  VISA  Credit Card type  0  Credit Card Number  4111111111111111  Credit Card Holder  Jonathan Knudsen  Feature ID  3_lives  Credit Card Verification Number  CCV   123  Payload  null   Response to 127 0 0 1   HTTP 1 1 200 OK   Content Length  0   Pay Response  SUCCESSFUL   Pay Timestamp  1156282954734             Chapter 30 JSR 229  Payment API Support 235    236 Java ME Platform SDK Help   April 2009    CHAPTER Ot       JSR 256  Mobile Sensor API Support       The JSR 256 Mobile Sensor API allow
122. hat represents one end of the protocol that is used to  communicate with smart card applications     The default ports are 9025 for slot 0 and 9026 for slot 1  These port defaults are a  property of the device  To alter the defaults  go to the device directory     C  Documents and Settings user javame sdk  3 0 directory number  Edit the device properties file and modify this line     runtime internal com sun io j2me apdu hostsandports    localhost 9025  localhost 9026    Java Card Platform Simulator  cref     The Java ME Platform SDK includes the Java Card Platform Simulator  which you  can use to simulate smart cards in the Java ME Platform SDK emulator   s slots  The  Java Card Platform Simulator is found in the following location     installdir bin cref exe     Hereafter we refer to it as simply cref  The basic procedure for testing SATSA  applications with the Java ME Platform SDK is as follows     1  Start cref with a Java Card platform application     2  Start the emulator     When a SATSA application attempts to communicate with a smart card  it uses a  socket connection to communicate with cref     Java ME Platform SDK Help   April 2009    For example  to run cref on port 9025 with a prebuilt memory image  use a  command line similar to this     start cref  p 9025  i memory image   eeprom    The Java ME Platform SDK includes a demonstration application  Mohair   which illustrates how to use SATSA  For detailed instructions on running Mohair   see MohairMIDlet        A
123. he LWUIT Library    The LWUIT library can be added to any MIDP project   1  Right click on a project and select Properties     2  In the Build category  select Libraries  amp  Resources  and click the Add Library     button     3  In the Add Libraries window  select LWUIT and click Add Library     You can see the package under Libraries and Resources     91       92    Using the LWUIT Resource Manager    The Resource Manager is a graphical tool for creating resource bundles and adding  them to the build process     1  Select a project that contains the LWUIT libraries     2  Select Tools  gt  LWUIT Resources     The Resource Manager opens     3  To add a bundle  right click anywhere within the Resource Manager window and  select Add Bundle from the context menu     4  Enter a bundle name and click OK     You are ready to add resources to the new bundle   5  Select a resource  and select Windows  gt  Properties to view and edit the resource     Experiment with adding resources  Resources are fully described in the Lightweight  UI Toolkit Developer   s Guide  Here is a brief summary of the resource types     JPG and PNG files  The file name can be changed and you can choose to pack the  file to save space     Animations  GIF files  You just supply a name   Font  There are two font types     System  Create New      Created from a system font  You can choose the system font in properties   Available fonts are  Dialog  DialogInput  Monospaced  Serif  and SansSerif     m From File 
124. he ant 1 7 1  If you enter a directory that does not  match this structure  the SDK gives you an error     You can also specify the following options     Save All Modified Files Before Running Ant  If selected  saves all unsaved files in  the SDK before running Ant  It is recommended to leave this property selected  because modifications to files in the SDK are not recognized by Ant unless they are  first saved to disk     Reuse Output Tabs from Finished Processes  If selected  writes Ant output to a  single Output window tab  deleting the output from the previous process  If not  selected  opens a new tab for each Ant process     Always Show Output  If selected  raises the Output window tab if the Ant output  requires user input or contains a hyperlink  Output that contains hyperlinks usually  denotes an error or warning  If not selected  the SDK displays the Output window  for all Ant processes     Verbosity Level  Sets the amount of compilation output  Set the verbosity lower to  suppress informational messages or higher to get more detailed information     Classpath  Contains binaries and libraries that are added to Ant   s classpath  Click  Add Directory or Add JAR ZIP to open the Classpath Editor     Properties  Configures custom properties to pass to an Ant script each time you call  Ant  Click Manage Properties to edit the properties in the property editor  This  property is similar to the Ant command line option   Dkey value  The following  default properties are ava
125. ice  and the profile  Click Finish   If an AGUI device is selected  the AGUI API is added to the project    7  To run the new project follow the steps in Running a Project  except you can select  your new project instead of a sample project     When you are finished viewing the application  go to the emulator   s Application  menu and select Exit to close the emulator and stop the execution of the project   s  build script     Note     Once the emulator is launched  it runs as an independent process  Pressing  the red stop button in the Output window terminates the build script  but it does not  close the emulator  Likewise  closing the SDK does not affect the emulator  In the  emulator  select Application  gt  Exit to ensure that both the emulator and the project  build process close     To modify the project  right click on the project node and select Properties     See the following topics  Viewing General Project Properties  Selecting a Platform   Editing Application Descriptor Properties  Building a Project  and Running a CDC  Project    Choose Project  CDC     You can view this page in the New Project wizard  The CDC project options are as  follows     CDC Application  Create a new CDC application in a CLDC project     Import CDC Toolkit Project  Create a project by importing a CDC Toolkit project  from an existing toolkit installation     Chapter 4 Creating and Editing Projects 43    44    Platform Selection  CDC     You can view this form in the New Project wizard  or
126. ice manager is a component that runs as a service  It detects devices  real or  emulated  that conform to the Universal Emulator Interface Specification  version  1 0 2  The Device Manager automatically restarts every time your computer restarts     You can manually launch installdir bin device manager  exe from a script or the  command line     Right click on the device manager icon in the system tray and you see the Show  Output option  When it is selected the log is displayed in a console window     Java ME Platform SDK Help   April 2009    wv Show output    Restart  Exit       Managing Device Addresses   device address     installdir  bin device address exe is a tool for viewing  adding  and removing  devices that the SDK is not able to discover automatically  The Microsoft device  emulator is an example of such a device  The syntax is     device address command arguments       Possible commands are as follows  Note  ip is currently the only supported address  type     add address type address Add the specified address   del address type address Delete the specified address   list List all address types     list address type List the specified address type     For example  the following command adds a device     installdir bin device address exe add ip 192 168 1 2       Running the Emulator From the  Command Line    You can launch the emulator independent of the GUI using bin emulator exe   The syntax is as follows     emulator options    The syntax for the emulator comma
127. ilable          build compiler emacs   If you are compiling using Jikes  build compiler   jikes   setting this property to true enables Emacs compatible error messages  It is  recommended that you leave this property set to true even if you are not using Jikes   since the SDK prefers Emacs compatible error messages     Java ME Platform SDK Help   April 2009    Compiling    To view this property page  right click on a project and choose Properties  In the  Properties window Build category  choose Compiling     This page enables you to set the following options     Generate Debugging Info  If checked  the compiler generates line numbers and  source files information  This is the  g option in javac  If unchecked  no debugging  information is generated  the  g none option in javac      Compile with Optimization  If checked  the compiled application is optimized for  execution  This is the  O option in javac  Optimizing can slow down compilation   produce larger class files  and make the program difficult to debug     Report Uses of Deprecated APIs  If checked  the compiler lists each use or override  of a deprecated member or class  This is the  deprecated option in javac  If  unchecked  the compiler shows only the names of source files that use or override  deprecated members or classes     Encoding  Overrides default encoding used by preprocessor and compiler  The  default value is the default encoding used by your VM     Adding Libraries and Resources    To view this property 
128. ile  gen  f nounwrap  O  cldcl 1  d generated config xml          Running the Payment Console From the  Command Line    The Payment Console displays payment related transactions sent from a mobile  application that implements Payment API  JSR 229  features  This console monitors  Payment Update File requests and Premium Priced SMS payments  It is a command  line version of the console discussed in Running the Payment Console     The Device Manager must be running before you launch the Payment Console     To launch the Payment Console from the command line  use  installdir  bin payment console exe        Virtual Machine Memory Profiler  Java  Heap Memory Observe Tool     The Java Heap Memory Observe Tool  also known as the Heap Walker  records  detailed information about the Java heap at a specific point in the virtual machine  execution  It collects and displays     m global pointers  m data for all objects  classes  sizes  addresses and references     m addresses for all roots    Chapter 17 Command Line Reference 145    146    m names of all classes    Please note the following     m The memory profiler uses the same connection technology as the debugger  see  On device Debugging Procedure   Because they use the same transport layer  the  memory profiler and Java debugger cannot be used simultaneously     Note     For the memory profiler  the Xrunjdwp  suspend option must be set to n        m The memory monitor slows down your application startup because every object  create
129. imation  cells with fewer than four neighbors die of loneliness   while cells with more than five neighbors die of overcrowding  An empty cell with  exactly four neighbors becomes a new live cell     The view of the playing board rotates slowly so you can view the board from all  angles     The keypad buttons in TABLE 26 1 provide control over the game     TABLE 26 1 Controls for Life3D       Button Description       0 Pause the animation    1 Resume the animation at its default speed    2 Speed up the animation    3 Slow down the animation    4 Choose the previous preset configuration from an arbitrary list  The name of the    configuration is shown at the top of the screen   5 Choose the next preset configuration from the list     Generate a random configuration and animate until it stabilizes or dies  If it dies   generate a new random configuration           See the source code for this example is at installdir apps Demo3D srce com   superscape m3g wtksamples life3d Life3D  java     Java ME Platform SDK Help   April 2009    retainedmode    The retainedmode MIDlet plays a scene file that shows a skateboarder in an  endless loop     PogoRoo    PogoRoo displays a kangaroo bouncing up and down on a pogo stick  To steer the  kangaroo  use the arrow keys  Press up to go forward  down to go backward  and  left and right to change direction  You might need to hold down the key to see an  effect     Java Bindings for OpenGL ES  JSR 239     JSR 239 defines the Java programming lang
130. ing Files in the Multiple User  Environment       The Java ME Platform SDK can be installed on a system running a supported  version of Windows  All users with an account on the host machine can access the  SDK  This feature is called the Multiple User Environment        Note     The Multiple User Environment supports access from several accounts  It  does not support multiple users accessing the SDK simultaneously  See Switching  Users        To support multiple users the SDK creates an installation directory that is used as a  source for copying  This document uses the variable work to represent the SDK  working directory and installdir to represent the installation directory  Each user   s  personal files are maintained in a separate working directory named  javame sdk  that has a subdirectory for each version installed  See User Directories     m Installation Directories  m User Directories    To locate logs  see Java ME Platform SDK GUI Logs  Device Manager Logs  and  Device Instance Logs        Switching Users    Multiple users cannot run the SDK simultaneously  but  you can run the SDK from  different user accounts on the SDK host machine  When you switch users  you must  close the SDK and exit the Device Manager  as described in Understanding the  Emulator  A different user can then launch the SDK and own all processes     77    78    Installation Directories    The Java ME SDK installation directory structure conforms to the Universal  Emulator Interface Specificatio
131. ing items in the tree  use the context menu   right click  to see the available actions  See Working With Projects     m A project has a default device platform property that is used if you run from the  toolbar  the green arrow   the Run menu  or the project s context menu     You can run an application on different devices without resetting the main project  or changing the default device in the project properties  See Running a Project  from the Device Selector     m The emulator is a remote process  and once it has started it is a separate process  from the build process running in the SDK  Stopping the build process or closing  a project does not affect the application running in the emulator  You must be sure  to terminate the application  the emulator can remain open   See Running a  Project     The SDK provides two unique instances for most devices  For example   DefaultCldcPhonel and DefaultCldcPhone2 are the same except for the phone  number  This means you can perform tests that require two devices  messaging   for example  without customization  If you want to run more than two emulators  you can easily make a copy that preserves the settings you require  See Adding a  Device Instance     m See Creating a CLDC Project and Creating a CDC Project     See Working With Projects and Tips for Legacy Toolkit Users        Tips for Legacy Toolkit Users    If you used the Sun Java Wireless Toolkit for CLDC or the CDC Toolkit in the past   the advice in Quick Start still app
132. is approach  a graphic designer or artist uses 3D modeling software to create a  scene graph  The scene graph is saved in the JSR 184 file format  The scene graph file  is bundled with the application  At runtime  the application uses the scene graph  API to load and display the file     Applications can manipulate parts of a loaded scene graph to animate characters or  create other effects  The basic strategy is to do as much work as possible in the  modeling software  At runtime  the application can grab and manipulate parts of the  scene graph  which can also include paths for animation or other effects     For an example of retained mode  see the retainedmode MIDlet in the Demo3D  example application        Quality Versus Speed    One of the challenges of MIDP development is the constrained environment of  typical devices  Compared to desktop computers  MIDP devices have slow  processors and little memory  These challenges extend into the arena of 3D graphics   To accommodate a wide variety of implementations  the JSR 184 specification  provides various mechanisms to make the display of a 3D scene as efficient as  possible     One approach is scoping  a technique where you tell the 3D graphics implementation  when objects are not going to interact with each other  For example  if you defined a  scene graph for a house  you could use scoping to specify that the light in the  basement doesn   t affect the appearance of the bedroom on the second floor  Scoping  simplifies th
133. is box to enable signing for the MIDlet suite  If it is  unchecked  this page is disabled     Java ME Platform SDK Help   April 2009    Keystore  A file that stores one or more key pairs as a keystore   ks  file  The  dropdown menu lists all available keystores  Click the Unlock button to unlock a  keystore for use     Alias  A name assigned to a key pair within a keystore  The dropdown menu lists  the aliases available for the selected keystore  Click the Unlock button to unlock a  key pair for use     The Certificate Details window provides information about the certificate assigned  to the key pair     Click Open Keystores Manager to manage keystores and key pairs  See Managing  Keystores and Key Pairs and Exporting a Key        Note     CDC projects cannot be signed with this tool  To sign a CDC project use the  JDK jarsigner command from the command line  For example    jarsigner exe  keystore keystore ks  storepass keystorepwd  MyCdcApp jar dummyCA       Exporting a Key    To view this dialog  right click on a project and choose Properties  In the Properties  window Build category  choose Signing and click Export key into Java ME  SDK Platform Emulator  Or  Select Tools  gt  Keystores  then select a keystore and a  key  and click Export     The Export window has the following components     Keystore File  Displays the name of the keystore file to which the key pair belongs   This field cannot be edited     Key Pair Alias  The name given to the key pair within the keysto
134. k emulator instance   appdb   ilesystemN  root1N photos     159    Note     If multiple instances of the same emulator skin run simultaneously  the Java  ME Platform SDK generates unique file paths for each one  For instance  the first  directory is named DefaultCldcPhonel and the second instance is named  DefaultCldcPhone2        Each subdirectory of filesystem is called a root  The Java ME Platform SDK  provides a mechanism for managing roots  While the emulator is running  choose  View  gt  External Events Generator from the emulator window   s menu  A utility  window opens  Click the File Connection tab     External Events Generator    Location Sensors  File Connection   Payment Transactions    Mounted File System Root Directories       root2   ped       Mount Empty    Mount Copy    Unmount    Unmounted File System Root Directories    test_data                       In the File Connection panel you can mount  unmount  or delete filesystem roots   Mounted roots are displayed in the top list  and unmounted roots are moved to the  bottom list  Mounted root directories and their subdirectories are available to  applications using the FileConnection API  Unmounted roots can be remounted in  the future     m To add a new empty filesystem root directory  click Mount Empty and fill in a  name for the directory     160 Java ME Platform SDK Help   April 2009       To mount a copy of an existing directory  click Mount Copy  and browse to choose  a directory you want to copy  When th
135. keystore     a1ias alias     storepass password    storetype PKCS11     keypass password   encoding encoding     inputjad input jadfile     outputjad output jadfile   Adds the digital signature of the given JAR file to the specified JAD file  The  default value for  jarfile is the MIDlet Jar URL property in the JAD file        Chapter 17 Command Line Reference 141    142    m  showcert     certnum number    chainnum number      all    encoding encoding    inputjad filename    inputjpp filename  Displays information about certificates in JAD and JPP files     m  addjppsig  keypass password  alias alias   keystore keystore     storepass password     kevstore none   keystore     storetype PKCS11    encoding encoding    inputjpp filename  outputjpp filename    Adds a digital signature of the input JPP file to the specified output JPP file   The default values are as follows   m  encoding  UTF 8  m  jarfile  MIDlet Jar URL property in the JAD file       m  keystore   tHOMEPATHS  keystore  m  certnum  1    m  chainnum   1    Managing Certificates  MEKeyTool     MEKeyTool manages the public keys of certificate authorities  CAs   making it  functionally similar to the keytool utility that comes with the Java SE SDK  The keys  can be used to facilitate secure HTTP communication over SSL  HTTPS      Before using MEKeyTool  you must first have access to a Java Cryptography  Extension keystore  You can create one using the Java SE keytool utility     See http    java sun com javase 6  do
136. l Documents a    mn  Ll My Documents  Program Files  Ll sun ja  a cldc     Temp  LI Windows  ati dhg    im liveconneck  Micrasoft  NE    amp  mxip lang    1  ip_notify    sun java cldc    9 8 08 3 95M                  Up Ed Menu  9  Run the Sun Java CLDC Emulation on the device     a  Open Start menu     b  Click Programs     Chapter 14 CLDC Emulation on a Windows Mobile Device 111    vet Te 4  10 41    a Today F4 Wali   T  Office Mobile  Calendar   FE Contacts     Internet Explorer    ia armation      Messaging     Phone  y  File Explorer     Bubble Breaker     windows Media  X  ActiveSync    1  FL Programs    3 Settings  2 J  c  7 Help pun                              Contacts       c  Click Sun Java CLDC EMU     112 Java ME Platform SDK Help   April 2009       Programs    p  en    Motes Pictures  amp  SAPSettings           Videns  Search SIM Streaming  Manager Media  Iv        amp  y      Sun Jay Voice Speed  CLOC Emu Dial       Windows Windows  Live Media       10  Wait for the Sun Java CLDC Emulation to start     Chapter 14 CLDC Emulation on a Windows Mobile Device    114       11  Allow up to 30 seconds  the default value  for Java ME SDK to recognize the  connected device and the Sun Java CLDC emulation software     When the device is recognized a new device  CldcWinceEmunumber  for example   CldcWinceEmul  should appear in the Device Selector window  and the output  from the command emulator exe  Xquery should also be displayed     You can select this device as a targ
137. lable     From the menu choose Publish image  or type or click 1   The icon color changes  from purple to green  indicating it is published     Use DefaultCldcMsaPhone2 to launch Bluetooth Demo  then select Client  The  MIDlet tells you it s ready to search for images  Click the Find soft button  The  MIDlet finds the other emulator and get a list of images from it  Select one from the  list and choose Load     m If you are running the demonstration in a trusted protection domain  the image is  transferred using simulated Bluetooth and is shown on the client emulator     m If you are not running in a trusted protection domain  the first emulator  the  server  displays a prompt asking if you want to authorize the connection from the  client  Choose Yes  The image is displayed in the client emulator     Java ME Platform SDK Help   April 2009    CHAPTER 22       JSR 135  Mobile Media API Support       JSR 135  the Mobile Media API  MMAPI   provides a standard API for rendering and  capturing time based media  like audio or video  The API is designed to be flexible  with respect to the media formats  protocols  and features supported by various  devices  See the following topics     Media Types   a Adaptive Multi Rate  AMR  Content     Media Capture   MMAPI MIDlet Behavior   Ring Tones       Download Ring Tones      Ring Tone Formats   Running the MMAPI Sample Project      Running AudioDemo   a Running MMAPIDemos   Running the Multimedia Sample Project    For information on progr
138. latform is implemented to support Advanced Graphics and User Interface  Optional Package for the J2ME Platform  Personal Basis Profile 1 1  and the Connected Device  Configuration  JSRs 209  217 and 218   The AGUI API combines the PBP API and a  subset of Java Platform  Standard Edition  Java SE  Swing capabilities     Java ME Platform SDK version 3 0 supports CDC projects running as standalone  applications  This means the CDC project structure and behavior are much the same  as that of CLDC projects        Note     An Xlet cannot be run standalone  It depends upon an application manager  to manage its life cycle  its state  and system services  Xlets are not supported in this  release        Like MIDP projects  a standalone CDC project requires a main application class that  includes a method named main   that handles class loading  object creation  and  method execution  The application interacts directly with the Java runtime  environment to manage its own life cycle and system resource needs  When the  main   method exits  the standalone application terminates     See Creating a CDC Project  Creating a Stubs for BD J Platform Project  Working  With Projects  and Viewing Project Files     Chapter 4 Creating and Editing Projects 39       40    Creating a CLDC Project    A CLDC project uses the MIDP application template and preselects devices that  support MIDP and CLDC  The SDK provides a wizard for creating new projects  quickly and easily  Most project properties can be 
139. lator is now a remote process  and once it has  started it is independent of the build process running in the SDK  Stopping the  build process or closing a project does not affect the application running in the  emulator  You must be sure to terminate the application  the emulator can remain  open   For more on this  see Running a Project     In the Wireless Toolkit you could simultaneously run multiple versions of a  device because the toolkit would increment the phone number automatically each  time you launched a project  Because the emulator is a remote process  the phone  number is a property that must be set explicitly for the device instance     The SDK provides two unique instances for most devices  For example   DefaultCldcPhonel and DefaultCldcPhone2 are the same except for the phone  number  This means you can perform tests that require two devices  messaging   for example  without customization  If you want to run more than two emulators  you can easily make a copy that preserves the settings you require  See Adding a  Device Instance     The emulator has additional display functionality  See Emulator Options     See also Quick Start and Working With Projects     Chapter 1 Getting Started 3    Java ME Platform SDK Help   April 2009    CHAPTER 2       Java ME Platform SDK Features       The SDK supports three technology platforms  also called stacks  They are  CLDC  and MIDP Stack  CDC Stack  and BD J Stack  as discussed in Emulation Platforms   In addition  it sup
140. lay soft button     7  Select Application  gt  AMS Home  or press F4  Select Application  gt  Switch  Running MIDlet  Select Audio Player and select Switch to  You can press the Play  soft button to resume the Audio Player        70    Emulator Options    The emulator has Application  View  and Help menus     The Application menu is only populated for CLDC and JavaFX platforms  The  Application options are as follows        Option Accelerator Description    AMS Home F4 Exit the current application and return to the  Application Management Software home     Change Locale This option only works with localized MIDlets   Enter a locale identifier  The format is similar to that  of the Supported Locales for Java SE 6  as follows     2 letter lang code separator 2 letter country code  For example  en US  cs CZ  zh CN  ja JP  The  separator can be a dash or an underscore     Resume F6 Resume a suspended application   Suspend F5 Pause a running application   Switch Running MIDlet F7 When you have multiple MIDlets running  toggle    between them  You see a list of running MIDlets and  you can chose the one you want to view     Exit Close the emulator process and stop the build  process  or processes         Java ME Platform SDK Help   April 2009    The View menu is available in full to CLDC and JavaFX platforms  For CDC  platforms  the only View option available is Always On Top        Option Description       Always On Top Keeps the emulator in the foreground  This is especially usef
141. lays the default update center for the SDK   the Java ME  SDK Toolbar Update Center     By default the Plugins Manager checks for updates once per week  as determined by  the Check Interval selection  You can select a different interval from the dropdown  list     Click the Add button to Add an update center URL     Click the Proxy Settings button to edit the proxy settings to allow access to update  centers     Force install into shared directories determines whether the plugin is installed for  an individual user or all users in the multiple user environment  If the box is  unchecked  default  the plugin is only installed for the user  If it is checked  the  installation is global  as described in Installing a Plugin Globally     Installing a Plugin Globally    By default the SDK installation is a multiple user environment  as described in User  Directories  The typical plugin installation described in Using the Plugins Manager  affects only your user directory  To install a plugin globally you must have write  access to the SDK installation directory     1  Choose Tools  gt  Plugins to open the Plugins Manager   2  Click the Settings tab and then select Force install into shared directories     3  Click the Available Plugins tab  select the Install checkbox for the plugin and click  Install  You can also install manually downloaded plugins in the Downloaded tab     4  Follow the wizard instructions to complete the installation of the plugin   5  Restart the SDK to activate
142. le 111 3  enable 5554  unblock 7 7 7 5    acf a0 0 0 0 6231c81     ace      ace      root CN thehost OU JCT O dummy CA L Santa Clara  ST CA C US    jcrmi    classes    com sun javacard samples RMIDemo  Purse     hashModifier xxx  methods    setAccountNumber   B V  getBalance  S  credit S V  j  jcrmi      classes    com sun javacard samples RMIDemo Purse    debit S V  getAccountNumber     B    acf a0 00 00 00 62 03 01 Oc 02 01      ace      root CN thehost OU JCT O dummy CA L Santa Clara  ST CA C US  apdu     020 082 020 082   8020 0 0 ff ff 0 0    apdu    8022 0 0 ff f   0 0       Chapter 24 JSR 177  Smart Card Security  SATSA     191                  acf a0 00 00    ace      apdu      0    20    acf a0 00 00    ace      apdu      0    20    00 62 03 01 Oc 02 01      0 82 ff ff ff ff    00 62 03 01 Oc 0601      0 82 ff ff ff ff          192    Running SATSADemos    SATSADemos includes demonstrations of SATSA  the Security and Trust Services  APIs  Most of the demonstrations show how to communicate with a smart card  The  emulator can communicate with a simulated smart card using a socket protocol  The  smart card simulator  cref  is included with the SDK  as discussed in Java Card  Platform Simulator  cref      The following sections contain instructions for each menu choice for this demo  For  each demo  follow this sequence     1  Start the instance s  of cref from the command line     2  Be sure to set the project security domain to maximum     Right click on the project  
143. le the next time you restart the SDK     216 Java ME Platform SDK Help   April 2009    Emulator Phone Numbers    Each running instance of the emulator has a simulated phone number that is shown  in the emulator window  The phone numbers are important because they are used as  addresses for WMA messages  By default  the first emulator instance has a phone  number of 123456789  Subsequent instances of the emulator have unique numbers in  ascending order     Sending a Text SMS Message    To send a text SMS message  click Send SMS  The send window appears     The window automatically lists the phone numbers of all running emulator  instances  Select one or more destinations and enter a port number if you wish  Type  your message and click Send     Sending a Binary SMS Message    To send the contents of a file as a binary message  click Send SMS to bring up the  send window  Click the Binary SMS tab     Selecting recipients is the same as for sending text SMS messages  You can type in  the path of a file directly  or click Browse to open a file chooser     Sending Text or Binary CBS Messages    Sending CBS messages is similar to sending SMS messages except that you don   t  need to choose recipients  To send a text or binary CBS message  click Send CBS in  the WMA console  Specify a message identifier and enter the content of your  message     Sending MMS Messages    MMS messages consist of one or more files  usually images or sounds  An MMS  message can be sent to multiple recipi
144. lies because although the user interface is quite  different  the project concept is similar  These tips apply legacy terms and ideas to  the SDK     m Runtime focus is less on the project and more on device capabilities and the  emulation process     Java ME Platform SDK Help   April 2009    In legacy toolkits you had to be careful to match the platforms  the APIs  and the  capability of the output device  The SDK matches project requirements and device  capabilities for you  so mismatches do not occur     As mentioned in the Quick Start  clicking the green arrow runs the main project   You can right click any project and select run     In the device selector you can test many devices without changing the project  properties  Right click any device and choose Run  Only projects that are  compatible with the device are show in the context menu     m Import applications from legacy toolkits to SDK projects  The installation of the  legacy toolkit must exist     See Specify WTK Project and Specify CDC Toolkit Project     m Toolkit settings are Application Descriptors in the SDK  Right click on a project  and select Properties  Choose the Application Descriptor category     m Toolkit utilities are generally accessible from the Tools menu in the SDK     For example  the WMA console  profiling tools  monitoring tools and more can be  started from the SDK Tools menu     m The emulator is familiar  but there are some fundamental differences     It s important to realize that the emu
145. lldir runtimes cldc hi appdb _main mks    This directory also contains keystore ks and serverkeystore ks  You can use  the  import option to import certificates from these keystores as described in  Managing Certificates  MEKeyTool      100 Java ME Platform SDK Help   April 2009    CHAPTER 13       BD J Support       The Java ME Platform SDK ships with a JAR file containing stubs for the BD J  platform  The stubs allow you to compile a CDC project as a Blu ray Disc Java  BD J   application  Once built  the application can be burned to a Blu ray disc and played  on a Blu ray disc player  or  it can be played online with a full featured player such  as TotalMedia Theatre  WinDVD  or PowerDVD     The SDK supports TotalMedia Theatre  If it is installed  running a BD J project  launches your application in the TotalMedia Theatre Player     To obtain source and Javdocs for the stubs  contact the Blu ray Disc Association   http    www blu raydisc com   You can email license requests to  License bdamail com    See the following topics    m Creating a Stubs for BD J Platform Project   m Compiling  Deploying  and Running a Stubs for BD J Platform Project       Creating a Stubs for BD J Platform  Project    Follow these steps to create a BD J Project   1  Select File  gt  New Project  and choose CDC Application  Click Next   2  Set the project name  location  and Main class name and click Next     3  Select Platform  From the Java Platform menu  choose Stubs for BD J Platform  and click
146. ls leading to the method   s invocation      Hot Spots  This tab shows the total execution time and number of invocations for  each method  irrespective of the context  It also includes the Method Name Filter  Field  which filters based on the first column  To select the filtering parameters  click  the filter icon and choose from the menu     Starts with      Contains    E Ends with        s  Regular expression    Enter a search string in the filter field  You can enter multiple values separated by  spaces  To apply the filter  click the green check  To restore the unfiltered data  clear  the filter field by clicking the red symbol     Combined This tab displays the Call Tree information in the upper part of the  window and the Hot Spot data in the lower part     Info  This tab displays the time the snapshot was taken  where it is saved  and the  configuration of the profiling session     You can right click a profiling result to access additional utilities  The actions you see  depend upon the currently selected view    m Show Subtree  Displays the subtree for the selected method    m Show Back Traces  Displays the back traces for the selected method    m Find in Hot Spots  Displays the selected class or method in the Hot Spots tab     See Saving Profiler Data  Loading Profiler Data and Saving Customized Snapshots  and Images        Saving Customized Snapshots and  Images    As you are Viewing Profiler Data you might isolate portions of the data you want to  inspect later  
147. may or may not be available depending on the media type that  Simple Player is playing  In addition  some commands can be invoked using the  keypad buttons  The following table describes the availability of commands and  their keypad equivalents     Note that a short list of commands and the corresponding keypad buttons is  available in the Simple Player application itself  Just choose the Quick Help  command from the menu     TABLE 22 1 Simple Player Commands       Menu   Command Item Description   Mute Unmute 1 Turns off sound but the file continues to play  This command  toggles to Unmute    Play 2   Volume 3 Increases or decreases loudness    META Data 4 Displays information provided by the media file such as  copyright information  title  and track list    Stop in 5 5 Pauses the audio play in five seconds when set during playback    seconds   Loopmode 6   Rate 7 Alters the rate of speed of playback    Tempo 8 Increases or decreases the tempo of the tone sequence or MIDI  file    Pitch 9 Lowers or raises the notes in a MIDI file    Skip Forward Skips forward five percent of the duration of the media file  The  sound track syncs to the video   Skip Backward Skips backward five percent of the duration of the media file   The sound track syncs to the video    Rewind Returns to the start time of the audio playback    Quick Help Displays a list of commands and keypad buttons        Video    The Video application illustrates how the emulator is capable of playing animated  GIF 
148. ml  Priority value for    category com  sun or VM can be    set to levels  ERROR  WARN  INFO  DEBUG     TRACE   ordered from least to most verbose          lt category name  com sun  gt    lt priority value  DEBUG         appender ref ref  FILI     category         iP      appender ref ref  CONSOLE ALL   gt        E              153        lt category name  VM  gt    lt priority value  INFO   gt    lt appender ref ref  CONSOLE ALL   gt    lt appender ref ref  FILE   gt    lt  category gt              See also  Java ME Platform SDK GUI Logs and Device Instance Logs       154    Device Instance Logs    Each device  or emulator  instance writes its own log into its directory under  USER_HOME javame sdk 3  0 work emulator instance  See   javame sdk 3 0 work     Like a device manager log it can be configured  Edit  installdir toolkit lib modules emulator cldc conf log4j xml as  described for Device Manager logs     See also  Java ME Platform SDK GUI Logs and Device Manager Logs    Java ME Platform SDK Help   April 2009       CHAPTER 19       JSR Support       The Java ME Platform SDK supports many standard Application Programming  Interfaces  APIs  defined through the Java Community Process  JCP  program  JCP  APIs are often referred to as JSRs  named after the Java Specification Request  process     See TABLE 19 1 for a full list of supported APIs  The Java ME SDK provides  documentation describing how certain APIs are implemented in the SDK  Many  supported APIs do not require s
149. monitoring  87     0    OBEX  167   OBEX preferences  168  obfuscate project  60  OpenGL ES  207  Organization Name  98  Organization Unit  98    P   packaging  60   packaging using command line  140  Payment API  233  234   PDA Optional Packages  159  PDAP  159    permissions  95  Personal Information Management  PIM  API  159  phone number  68  PhoneME Advanced  6  7  10  physical view  45  PIM API  161  platform   adding  9  port   debug  68  preverifying  137   example from command line  139  profiler  68  81  ProGuard obfuscator  60  project  37  38   add  59   build  44   clean  45   clean and build  44   close  45   import  47   new  44   run  45   set as main  45   settings  38  Projects window  44  properties   device  67  68   enable profiler  81   platform  67   searchable in WURFL  75  protection domains  93  proxy server settings  21    R   reference problem  25   resolve reference problem  25  resources  45   ring tones  173   roots in the FileConnection API  160  run options  134   Run via OTA  95    S  SATSA  185    SATSA demos  192   SDK  running from command line  131  sensor  237   sensor security  237   settings  38   signed MIDlet suites  93   signing MIDlet suites  95  141   SMS binary message  sending  217  SMS text message  sending  217  source packages  45   State Name  98   stub generator for web services  181  SVG  207   SVGDemo  208   SVGT  207   switch users  77    T  toolbar  running from the command line  131  tracing options  137    U  UEI  78 
150. mparator    The String Comparator MIDlet demonstrates how strings  city names  are sorted  differently depending on locale  Launch the MIDlet  Use the Menu soft button to  view the menu  Click or Type 2 to select Sort   default  and the list is sorted  alphabetically  Click or Type 3 to select Sort   slovak  It   s easy to see the difference in  the cities that begin with the letter Z  with and without the mark on top  Click Exit  to return to the list of MIDlets     Formatter    The second MIDlet  Formatter  simply displays times and numbers formatted for  different locales  Click next to view all four screens  Click Exit to return to the list of  MIDlets     MicroLexicon    The final MIDlet  MicroLexicon  translates phrases from one language to another  language  To set the source language  follow the steps in Setting the Emulator   s  Locale     To select the target language from the list  use the navigation arrows to highlight  Choose Language  Click the Select button to view the language drop down  Use the  navigation arrows to choose a language and then click Select  Click the Next soft  button     MicroLexicon displays a list of phrases  Highlight one and press the Select button on  the emulator     MicroLexicon displays the flag of the target language and the translated phrase     MicroLexicon is powered by MIDlet resources  To understand how you can use the  Java ME Platform SDK to localize an application  choose Tools  gt  i18n Resources  Manager  All the resources 
151. mple procedure creates a new project and adds a web service client   However  you can add a web service client to any MIDP project  it does not have to  be new     1  Select File  gt  New Project  choose MIDP application  and click Next  Name your  project and ensure Create Hello MIDlet is checked  Click Finish     2  Right click on the new project   s Source Packages node and select New  gt  Other     3  In the Categories pane select Other  and in the File Types area choose Mobile  Webservice Client     4  In the Generate J2ME Webservice Stub page   m Click Running Web Service and in the WSDL URL field  enter        http    www xmlme com WSShakespeare asmx WSDL  m In the Package field  enter testws  This is the package name     Click Finish  The new package appears in Source Packages and includes  Shakespeare  java and Shakespeare_Stub  java     5  Edit HelloMID1let  java as follows        m At the beginning  add the following import declaration   import testws      m Locate the startApp   method and replace its contents with the following  code        String text   Shakespeare s   new Shakespeare Stub     tiy     text   s GetSpeech   Romeo      catch java rmi RemoteException rex      text    error    System out println rex getMessage         TextBox t   new TextBox  Hello   text  2048  0               182 Java ME Platform SDK Help   April 2009       t addCommand  exitCommand     t setCommandListener  this      display setCurrent t         6  Build and run the project  You s
152. multiple of 1024 greater than 1 megabyte  Append the  letter k or K to indicate Kilobytes or m or M to indicate megabytes  The default  value is 64 megabytes  64M      m  Xssn  Sets thread stack size to n   m  Xxlet classpath class path  class fully qualified name   arg argument       Run an Xlet application     See also Running the Emulator From the Command Line and Debugging and  Tracing Options     Debugging and Tracing Options   You can use the following options with the emulator for debugging and tracing both  CLDC and CDC projects    m  Xdebug    Enable runtime debugging  The  Xrunjdwp option must be called to support   Xdebug     m  Xrunjdwp debug settings    Start a Java debug wire protocol session  as specified by a list of comma separated  debug settings  Both  Xrunjdwp and  Xdebug must be called     Valid debug settings include the following     Java ME Platform SDK Help   April 2009    a transport transport mechanism   Transport mechanism used to communicate  with the debugger  The only transport mechanism supported is dt  socket     a address host port   Transport address for the debugger connection  If host is  omitted  localhost is assumed to be the host machine     a Sserver  y nj Starts the debug agent as a server  The debugger must connect  to the port specified  The possible values are y and n  Currently  only y is  supported  the emulator must act as a server      a Ssuspend   y n    The possible values are y and n     When suspend is set to n  the applica
153. n  version 1 0 2  This structure is recognized by all  IDEs and other tools that work with the UEI  The installation directory has the  following structure     m apps  Contains examples for supported platforms     BD J  BdjGunBunny    CDC and AGUI  AGUIJava2DDemo and AGUISwingSet2 as described in  TABLE 3 2     CLDC and MIDP  all others  as shown in TABLE 3 1     m bin  Contains the following command line tools     cref  Java Card simulator for working with SATSA JSR 177  See Java Card  Platform Simulator  cref     device manager  The device manager is a component that must be running  when you work with Java ME Platform SDK  After installation it starts as a  service  and it will automatically restart every time your computer restarts   When it is running  it appears in the Windows system tray as an icon   Right click on the icon to view its controls    device address  device address exe is a tool for viewing  adding  and  removing devices that the SDK is not able to discover automatically  See  Managing Device Addresses  device address     emulator  UEI compliant emulator  See Running the Emulator From the  Command Line     jadtool  Tool for signing MIDlets  See Signing MIDlet Suites  jadtool exe      mekeytool  Management of ME keystores  See Signing MIDlet Suites   jadtool exe      payment console  Minimalistic console for viewing payment transactions   An equivalent tool exists in the Java ME SDK user interface     preverify  The Java ME preverifier     resourcesmanager 
154. n you open a project you can see it has a reference warning  In the    Projects tab the project name is red  and the icon shows a warning symbol  as seen  below     d  EP CHAPIDemo    24 Java ME Platform SDK Help   April 2009    Usually this warning means the project refers to a file or library that cannot be  found  Right click on the project and choose Resolve Reference Problems      amp  Resolve Reference Problems    CHAPIDemo  Project    Reference Problems         keystore ks  File Folder could not be Found    Description     Problem  The project uses the File Folder called   keystore ks   but this File Folder was not Found   Solution  Click Resolve and locate the missing  File Folder                 The window displays the missing file  the problem  and a possible solution  In this  case the project probably used a literal path to the file keystore ks  Clicking the  Resolve    button opens a file browser so you can find the missing file     Typically the file keystore ks is stored in installdir  runtimes    cldc hi javafx 1lib  Locate and select the file  You receive confirmation that the  problem is resolved  and you can now click Close        Running MIDP and CLDC Sample  Projects    This topic gathers MIDP and CLDC samples that aren t discussed with specific JSRs   m Running the Demos Sample Project   m Running FPDemo   m Running Games   m Running Network Demo   m Running PhotoAlbum    m Running UIDemo    Chapter 3 Using Sample Projects 25    26    For other CLDC demo
155. nable Regular  execution and check Specify the Security Domain  Choose maximum from the list     2  Start cref from the SDK installation directory as follows   start bin cref  p 9025  i apps SATSADemos demo2 eeprom    3  Now run JCRMIMIDIet to see how your application can communicate with a  distributed object on the card        Chapter 24 JSR 177  Smart Card Security  SATSA  195    196 Java ME Platform SDK Help   April 2009    CHAPTER 25       JSR 179  Location API Support       The JSR 179 Location API gives applications the opportunity to use a device   s  location capabilities  For example  some devices include Global Positioning System   GPS  hardware  Other devices might be able to receive location information from  the wireless network  The Location API provides a standard interface to location  information  regardless of the underlying technique     In the Location API  a location provider encapsulates a positioning method and  supplies information about the device   s location  The application requests a provider  by specifying required criteria  such as the desired accuracy and response time  If an  appropriate implementation is available  the application can use it to obtain  information about the device   s physical location     The Java ME Platform SDK includes a simulated location provider  You can use the  emulator   s External Events Generator to specify where the emulator should think it  is located  In addition  you can configure the properties of the provid
156. nd is as follows     Chapter 17 Command Line Reference 133    The general options are as follows      classpath path   cp path    Specifies a search path for application classes  The path consists of directories  ZIP  files  and JAR files separated by colons      Dproperty value   Sets a system property value     help   Display a list of valid options     version   Display version information about the emulator    Xdevice skin name    Run an application on the emulator using the given device instance name  See  TABLE 8 1      Xmain  main class name  Run the main method of a Java class  as in Java SE    Xquery    Print emulator skin information on the standard output stream and exit  immediately  The information includes the skin name  screen size  and other  capabilities     This is a simple example of running the emulator from the command line     emulator exe  Xdescriptor C  Java_ME_platform_SDK_3 0 apps Games dist Games jad    134       emulator exe also supports MIDlet Options  CDC Options  and Debugging and  Tracing Options     MIDlet Options    Options for running MlIDlets in the emulator are as follows   m  Xautotest JAD file URL    Run in autotest mode  This option installs a MIDlet suite from a URL  runs it   removes it  and repeats the process  The purpose is to run test compatibility kits   TCKs  with the emulator  using a test harness such as JT Harness  JavaTest    or  Java Device Test Suite  JDTS   For example     emulator  Xautotest http   localhost 8080 test g
157. ned earlier  the provided implementation does not  support availability change  but a custom implementation you create might do so     When you select a sensor row the bottom of the dialog displays any custom sensor   controls  For example  the acceleration sensor  has three channels  axis_x  axis_y  and  axis_z  Each channel has a slider that changes the current channel value  and an edit  box you can use to input a value  The channel unit label is displayed on the far right     Under the channels there is script player control that allows you to play sensor value  events from a script file of the format discussed in Creating a Sensor Script File  See  Running the Sensors Sample Project for a description of how to use the Sensors  demo     Java ME Platform SDK Help   April 2009       Creating a Sensor Script File    To simulate sensor inputs  provide a sensor script  The file format is as follows      lt sensors gt    lt value time  0  gt     channel id  0  value  0    gt    lt channel id  1  value  0    gt    lt  value gt    lt value time  100  gt    lt sensor active  false   gt    lt  value gt    lt value time  100  gt    lt channel id  0  value   50    gt    lt channel id  1  value  10    gt    lt sensor active  true   gt    lt  value gt    lt  sensors gt              The file installdir apps Sensors marbles xm1 is an example of a sensor script  file  The attributes are as follows     m The attribute time in the value tag is the delay from the previous command in  millise
158. nformation in the WURFL     The SDK uses a WURFL module to discover devices based on API support or on  physical characteristics such as physical memory size or display size     See  Searching for Devices  Filtering the WURFL Search       Searching for Devices    Follow these steps to search the WURFL database     1  Select Tools    Device Database Search     The WURFL Device Search tab opens in the main window     2  Check Use Filter to see search options     If you do not check Use Filter  all devices in the database are listed  See Filtering  the WURFL Search     3  Make a selection from the dropdown menu on the left     If applicable  the center dropdown displays a list of conditions  The menu on the  right displays a value     4  To add another search criteria  click the   button     Click the   button to remove a search setting     73    5  Click the Search button     The search returns devices that match all the chosen criteria  The results are not  case sensitive     6  Click on a device to view its properties on the right  as shown below        Wurfl Device Search x   StartPage x  d   J   J n     Use Filter  Filter          Supported APIs v          MMAPI 1 1  WMAPI 1 0 4    me      em f                16 devices found P900  Property Value  max  image width 186  max  image height 227  colors 65536    Samsung   fme mido 2 0 true  jzme jwi true  jame mmapi 1 0 true  j2me  wmapi 1 0 true  jzme btapi true                   jame heap  size 16777216  jame canvas height 253
159. ng the CHAPIDemo Content Browser     Defining Content Handler Properties    In the Projects window  right click on a project and choose Properties from the  context menu  In the Category pane  select Application Descriptor  and click the  Content Handler tab  Pressing Add or Edit opens the Content Handler Properties  window  as shown here     222 Java ME Platform SDK Help   April 2009     amp  Content Handler Properties    Content Handler   Actions          Class    example  text  TextViewer v    ID  example txt  TextViewer                Content types   text plain    Suffixes     bt      Add Suffix  text    Remove    Access allowed to        Add Access                      m In the Class field  choose a class name from the dropdown menu        m ID is an identification string that can be used to invoke a content handler and  control access     m In Content types  list the content types for which this content handler is  responsible  Use Add Type and Remove to manage the list     m In Suffixes  provide a list of URL suffixes that act as a substitute for an explicit  content type     m In Access allowed to  list IDs for content handlers that are allowed access to this  content handler  If the list is empty  access to this content handler is granted to  every content handler     Chapter 28 JSR 211  Content Handler API  CHAPI  223    224       Defining Content Handler Actions    Content handler actions give invoking applications a choice about how to handle  content  An Action i
160. nge   disable   enable   unblock  four hexadecimal numbers    pin  jcrmi    id number  verify   change   disable   enable   unblock  method name and signature             The acf record is an Access Control File  The AID after acf identifies the  application  A missing AID indicates that the entry applies to all applications  The  acf record can contain ace records  If there are no ace records  access to an  application is restricted by this acf     Java ME Platform SDK Help   April 2009    The ace record is an Access Control Entry  It can contain root  apdu  jcrmi   pin_apdu  and pin_jcrmi records     The root record contains one CA name  If the MIDlet suite was authorized using a  certificate issued by this CA  this ace grants access to this MIDlet  A missing root  field indicates that the ace applies to all identified parties  One principal is  described by one line  This line must contain only the word root and the principal  name  for example     root CN thehost OU JCT O dummy CA L Santa Clara  ST CA C US    The apdu or jcrmi record describes an APDU or Java Card RMI permission  A  missing permission record indicates that all operations are allowed     An APDU permission contains one or more sequences of eight hexadecimal values   separated by blanks  The first four bytes describe the APDU command and the other  four bytes are the mask  for example        apdu    020 082 020 082  8020 0 0 ff ff 0 0             The Java Card RMI permission contains information about the h
161. nputs provided in a script     1  From the application menu select Marbles and use the soft key to launch the  application     Java ME Platform SDK Help   April 2009    2  In the emulator  select View  gt  External Events Generator  and select the Sensors  tab     The emulator displays a list of the sensors in this application     3  Click the Browse button and choose the following file   installdir apps Sensors marbles xml     4  Observe the movement of the marbles on the emulator screen  On the external  events screen you can see the sliders move as the script runs  You can use the  familiar controls to play  pause  and stop the script     Chapter 31 JSR 256  Mobile Sensor API Support 241    242 Java ME Platform SDK Help   April 2009    Index    A   adding a Java platform  9  AMR  172   AMS  39   application versioning  52  autoupdate  14    B   BD J stack  7   Bluetooth  167   building  command line   137    C  CBS message  sending  217  CDC stack  6  certificate management  99   classpath option  139  CLDC and MIDP stack  6  command line operations  131  command path  138  Common Name  98  content handler  221  actions  224  properties  222  cref  186    D  debug port  68  debugging  from command line  136    options  136  demonstrations  21  device   information  67   search  73  device manager  5  device address tool  126  133    E    emulator  5  65  default protection domain  141  skins  66  emulator command  133  emulator phone number  217    F   FileConnection API  
162. nstallation     m project properties  Ant properties used to configure the Ant script  This file  is automatically updated when you configure the project s properties  Manual  editing is possible  but it is not recommended     m project xml and genfiles properties  Generated metadata files  It is  possible to edit project xml manually  it is not recommended  Do not edit  genfiles properties     res Resource files you have added to the project  See Adding Libraries and  Resources     src The project source files     build xml  The build script  This build script only contains an import statement that  imports targets from nbproject build impl xml  Use the build xml  to  override targets from build impl   xml or to create new targets     See also  Creating a CLDC Project  Creating a CDC Project  Creating a Stubs for BD J  Platform Project  and Importing CDC Projects        46    Creating a New MIDlet    To create a new MIDlet from the Files view  right click a project and select New     MIDlet  With this form you can specify the name of the MIDlet and its location  within the selected project     MIDlet Name  The name of the new MIDP class     Midlet Class Name  The name that users see when the application runs on a device        MIDlet Icon  The path to an icon associated with the MIDlet  Users see the icon  when the application runs on a device     Project  Displays the name of the project     Package  Specifies the location of the MIDlet class  You can select an existing  pa
163. nstead of printing them      q Quiet mode     mmsreceive    mmsreceive   ooutputDir    t timeout    q    o outputDir  Store binary contents to outputDir    t timeout  Non interactive mode  waits only timeout seconds for messages           Store text contents as files instead of printing them     148 Java ME Platform SDK Help   April 2009     q Quiet mode     Chapter 17 Command Line Reference 149    150    smssend    smssend target_phone target_port message_content    target_phone    Phone number of the target phone  Mandatory first argument     target_port    Port of the target phone  Mandatory second argument     message_content  Mandatory third argument  Can have one of these two forms   m text  text of the text message    m  f file  sends content of the specified file as a binary message     cbssend    cbssend target port message content    target port    Port of the target phones to send the message to  Mandatory first argument     message content  Mandatory second argument  Can have one of these two forms   m text  text of the text message    a  f file  sends content of the specified file as a binary message     mmssend    mmssend  application id message subject options     application id    Application ID of the message  Mandatory first argument      message subject    Subject of the message  Mandatory second argument   Options     to target phone     to  target phone number  Any number of these options can be used     Java ME Platform SDK Help   April 2009     cc targe
164. o and Datagram Demo  Each demo requires  you to run two emulator instances so that you can emulate the server and client  relationship  For example  run the demo on DefaultCldcMsaPhonel1 and  DefaultCldcMsaPhone2     Socket Demo    In this application one emulator acts as the socket server  and the other as the socket  client     1  In the first emulator  launch the application  then select the Server peer  Choose  Start  The emulator explains that the demo wants to send and receive data over  the network and asks   Is it OK to use network   Choose Yes  The Socket Server  displays a screen that indicates it is waiting for a connection     2  In the second emulator  launch the application  select the Client peer  then choose  Start  The emulator explains that the demo wants to send and receive data over  the network and asks   Is it OK to use network   Choose Yes  The Socket Client  displays a screen that indicates it is connected to the server  Use the down  navigation arrow to highlight the Send box  Type a message in the Send box  then  choose the Send soft key     For example  in the client  type Hello Server In the Send box  Choose the Send  soft key  The emulator activates a blue light during the transmission     3  On the emulator running the Socket Server  the Status reads  Message received    Hello Server  You can use the down arrow to move to the Send box and  type a reply  For example  Hello Client  I heard you  Select Send     4  Back in the Socket Client  the stat
165. o enter a stock symbol  Type JAVA and select the Done  soft key  The stock you added and its current value is now displayed in the ticker   Add a few more stock symbols  such as IBM and HPQ     Java ME Platform SDK Help   April 2009    Change the Update Interval    By default the update interval is 15 minutes  Select Updates to change the interval   Use the navigation arrows to select one of Continuous  15 minutes  30 minutes   1 hour  or 3 hours  Select the Done soft key     Remove a Stock    Select Remove a Stock  You see a list of the stocks you have added  Use the  navigation keys to select one or more stocks to remove  Choose the Done soft key     Stock Tracker    Stock Tracker displays a list of the stocks you added and their current values  Stock  tracker displays additional information about the selected stock  for example  the  last trade and the high and low values     Choose a stock and press Select     What If     What If  is an application that asks for the original purchase price and the number of  shares you own  It calculates your profit or loss based on the current price     Select a stock symbol     Enter the purchase price and the number of shares  then press Calc     Alerts    This application sends you a notification when the price changes to a value you  specify     From the main menu  select Alerts   Select Add     Choose a Stock  The screen prompts     Alert me when a stock reaches      Enter an integer     The alert is placed on the Current Alerts lis
166. oject Properties    Selecting a Platform    Editing Application Descriptor Properties    MIDP Attributes  MIDlets   Push Registry  API Permissions    See also Using Content Handlers    Building a Project    Compiling   Adding Libraries and Resources  Creating JAR and JAD Files  Packaging   Obfuscating   Signing    Running Settings    51       Viewing General Project Properties    To view this property page  right click on a project and choose Properties and select  the General category  The general properties page displays basic project properties   You can set application versioning here  but all other values cannot be edited     The project name  folder  and source location are set when the project is created  The  Application Version Number field displays the version number of the current build     Application Versioning    The Application Version Counter field displays the next version number to be used   The default advance is 0 0 1  To advance the number beyond this  use the dropdown  menu to select a new digit  or enter the value into the field  For example  changing  the value to 3 results in a build number of 0 0 3  Changing the value to 100 results in  the version number 0 1 0     Required Projects    This area displays projects you have added to this project  It might be a dependent  project or an external library  See Adding Libraries and Resources        52    Selecting a Platform    An emulator platform simulates the execution of an application on one or more  t
167. on the host  computer  It also provides a procedure for testing on device debugging     m CLDC Emulator Installation for a Device Running Windows Mobile    m Testing On device Debugging       CLDC Emulator Installation for a Device  Running Windows Mobile    1  Connect the device to your host computer and register it with ActiveSync     2  Copy the Sun Java CLDC Emulation Installation CAB file onto the clipboard  using Windows Explorer     a  Browse to JavaMESdkHome emulator dev install   b  Right click on sun java cldc emu cab   c  Select Copy from the context menu    3  Paste the CAB file into the device root directory     a  In Windows Explorer  open Mobile Device     105    P My Computer  Bl xl    File Edit View Favorites Tools Help  Q Back             Search   gt  Folders   ij  Gh X V9   Fe  Address   X My Computer    Go    oe Q  amp     Local Disk  C   Data D   DVD RW Drive DVD Drive  F     E        Shared  Documents    b  Open My Windows Mobile Based Device     E Mobile Device  File Edit View Favorites Tools Help    Q Beck        P  P Search   5 Folders   i i X 19   E    My Music My Pictures Personal    Templates       c  Open the Edit menu     106 Java ME Platform SDK Help   April 2009      My Windows Mobile Based Device    View Favorites Tools Help    Paste Shortcut  Documents My Documents    Gopy To Folder    and Settings  Moye To Folder       Select All CJ    Invert Selection Windows cemail  vol    mxip initdb     mxip lang vol mxip notif    mxip syste          d  
168. otification from the update indicator at the lower right  corner of the user interface     1 update found     Click here to make your application up to date                                You do not have to wait for a notification  You can select Tools  gt  Plugins and select  the Available Plugins tab to see the most current results     See Using the Plugins Manager and Installing a Plugin Globally     Using the Plugins Manager    When you install or update a plugin using the Plugins Manager  the SDK places the  plugin  jar file and documents in your user directory  See User Directories     1  Choose Tools  gt  Plugins from the main menu to open the Plugins Manager     2  Click the Available Plugins tab to display plugins that are available but not  installed     3  In the left pane  select the plugins you want to add and click Install     Java ME Platform SDK Help   April 2009    4  Complete the pages in the installer to download and install the plugin     See Available Plugins  Downloaded  Installed Plugins and Plugin Settings     Available Plugins    To access this tab  select Tools  gt  Plugins to open the Plugins Manager  then select the  Available Plugins tab  To check the update center and refresh the list of available  plugins  click Reload Catalog     Downloaded    To access this tab  select Tools  gt  Plugins to open the Plugins Manager  then select the  Downloaded tab  The left pane displays the manually downloaded plugins that you  can install  The right pane dis
169. page  right click on a project and choose Properties  In the  Properties window Build category  choose Libraries and Resources     This page allows you to add a dependent project  libraries  and other supporting  files to the current project     Add Project  The JAR file produced by another project  as well as the associated  source files and Javadoc documentation  Adding this item to a classpath sets up a  dependency between the current project and the selected JAR file     Add Library  A Library is a collection of JAR files or folders with compiled classes   which can optionally have associated source files and Javadoc documentation  If the  Package checkbox is checked the library is included in the application s JAR file  If it  is not checked  the library is copied into the  1ib directory     Add JAR file  A JAR file created by another project   Add Folder  The root of a package or directory containing files     Once a library or resource is added  it is visible in the Libraries and Resources table   which reflects the order of the libraries and resources in the classpath  To change the  order in the classpath  select the listing and click Move Up or Move Down  You can  also remove libraries and resources from this page     Chapter 5 Viewing and Editing Project Properties 59    60    Each row in the table has a Package check box  If Package is checked  the library or  resource is bundled and added to the project JAR file  If Package is not checked  the  library or resourc
170. pecial implementation considerations  so they are  not discussed in this help set     The CLDC MIDP platform is based on the Mobile Information Device Profile and Connected  Limited Device Configuration  JSRs 118 and 139      The CDC platform is implemented to support Advanced Graphics and User Interface  Optional Package for the J2ME Platform  Personal Basis Profile 1 1  and the Connected Device  Configuration  JSRs 209  217 and 218      JSRs that are not part of the platform are referred to as  optional packages   AII  optional packages are supported onthe CLDC MIDP Platform     In Java ME SDK version 3 0 the CDC platform does not support JSR 239  Java  Binding for OpenGL ES API  and JSR 280  XML API for Java ME      See also TABLE 19 1     155    156    JCP APIs    TABLE 19 1 Supported JCP APIs    JSR  API Name  URL       JSR 75  PIM and File PDA Optional Packages for the J2ME Platform  http   jcp org en jsr detail id 75    JSR 82  Bluetooth and OBEX Java APIs for Bluetooth  http   jcp org en jsr detail id 82                   JSR 118  MIDP 2 0 Mobile Information Device Profile  http   jcp org en jsr detail id 118  JSR 135  MMAPI 1 1 Mobile Media API  http   jcp org en jsr detail id 135  JSR 139  CLDC 1 1 Connected Limited Device Configuration  http   jcp org en jsr detail id 139  JSR 172  Web Services J2ME Web Services Specification  http   jcp org en jsr detail id 172  JSR 177  SATSA Security and Trust Services API for Java ME  http   jcp org en jsr detail id 177  JSR 17
171. plays a description of the selected plugin     Click Add Plugins to use the file browser to add any plugins that you downloaded  to your local system  To install the plugin  select the Install checkbox for the plugin  and click Install     Installed Plugins    To access this tab  select Tools  gt  Plugins to open the Plugins Manager  then select the  Installed tab  The left pane displays a list of the installed plugins  The active column  displays the state of the selected plugin        e The plugin is installed and activated    o The plugin is installed but deactivated    e  The SDK needs to be restarted to fully deactivate the plugin   R       When you select a plugin in the left pane  the description of the plugin is displayed  in the right pane  You can activate and deactivate installed plugins in the right pane   A deactivated plugin is not loaded on SDK startup  If a plugin is deactivated  it still  exists on your local system and you can reactivate the plugin without downloading  it again     Chapter 2 Java ME Platform SDK Features 15    16    An installed plugin can be active or inactive  If a listed plugin is inactive  you might  need to install additional plugins to use the plugin     If you want to completely remove a plugin from your local system  select the  checkbox for the plugin in the left pane and then click Uninstall     Plugin Settings    To access this tab  select Tools  gt  Plugins to open the Plugins Manager  then select the  Settings tab  This tab disp
172. plies the JavaFX runtime  as discussed in JavaFX Platform     A project runs on a particular emulation platform  The device manager determines  whether a device is appropriate for your project based on the platform  the APIs  your application uses  and a set of device properties  If you run an application and  an appropriate emulator or device is already running  the SDK automatically installs  and runs your application  You don   t have to launch the emulator over and over     The SDK supports integration with devices running Windows Mobile and  third party emulators  You can use the SDK to deploy to a real device and perform  on device debugging     See JCP APIs  Emulation Platforms  and Working With Projects        Emulation Platforms    An emulator simulates the execution of an application on one or more target devices   For example  the CLDC platform enables you to run applications on several sample  devices with different features  such as screen size  keyboard  runtime profile and  other characteristics     An emulation platform allows you to understand the user experience for an  application and test basic portability     Java ME Platform SDK provides two well known emulation platforms  CLDC with  MIDP and CDC with AGUI  Both platforms include predefined devices with  different screen sizes  runtime profiles  and input methods     The SDK also provides a way to prepare a CDC application for execution on a  Blu ray disc player  as described in BD J Stack     The SDK in
173. project properties or choose an action related to the project     build  The output directory for the compiled classes listed below  This directory also  contains manifest  mf  the manifest file that will be added to the JAR file    m compiled  Contains all compiled classes    m obfuscated  Holds the obfuscated versions of the class files     m preprocessed  Holds the source files after they are preprocessed  The files will  differ from the original source files if you are using project configurations     m preverified  Holds the preverified versions of the class files  These files are  packaged into your project s distribution JAR     m preverifysrc  Versions of the source files before they are preverified     dist  The output directory of packaged build outputs  JAR files and JAD files   The  dist directory also contains generated Javadoc documentation     lib  Contains libraries you have added to the project  See Adding Libraries and  Resources     Chapter 4 Creating and Editing Projects 45    nbproject  The directory that contains the project Ant script and other metadata This  directory contains the following files     m build impl xml  The IDE generated Ant script  Do not edit build impl xml  directly  Always override its targets in build xml     m private private properties  Properties that are defined for you alone  If  you are sharing the project  any properties you define in this file are not checked  in with other project metadata and are only applied to your SDK i
174. r another type of binary data  click the Add button      In the Configure New Resource window  select Add string resource     Browse to select the file you want to add    a The automatically supplied Identifier value can be changed   a Click OK to add the resource      amp  Configure New Resource    Identifier  110          Add binary resource        Add string resource       String  No more beer         m To edit a resource  double click in the resource field   wm For strings you can edit an existing value        Double clicking a binary file opens a file chooser        Running il8nDemo    This MIDlet suite demonstrates the JSR 238 Mobile Internationalization API  The  MIDlets String Comparator and Formatter show how to sort strings and display  numbers appropriately for different locales  The third MIDlet  MicroLexicon  is a  small phrase translator that comes in handy if you need to ask for a beer in Prague   Herzliya  Beijing  Milan  or several other locations     Chapter 29 JSR 238  Mobile Internationalization API  MIA      229    230    Note     The default fonts for the Java ME Platform SDK do not support Chinese and  Japanese  To use these languages  follow these steps before running this demo     1  Install a True Type font that supports Chinese or Japanese   2  Modify installdir  toolkit lib devices skin directory  conf    skin  properties to specify that font     To run a MIDlet  highlight the MIDlet  then use the Launch soft button to run the  MIDlet     String Co
175. r application responds        Running the CityGuide Sample Project    CityGuide demonstrates how to use the Location API  JSR 179   It shows a walker   s  current position superimposed on a city map  The walker moves around the city and  landmarks are highlighted and identified as the walker approaches  In this demo we  get the walker s location from an XML script named citywalk xml  the event file   that submits the device location information     Chapter 25 JSR 179  Location API Support 199       200    Because location prompts occur frequently  it is best to run this demonstration in  manufacturer  trusted  mode  as explained in Security Domains  In the user  interface  right click on your project and select the Running category  Select Specify  the Security Domain  and select manufacturer or maximum     Open and run the CityGuide project  In the emulator  launch the CityGuide MIDlet   Click Next to view the map page     HegaSport       Choose View    External Events Generator from the emulator window menu  On the  Location tab click the browse button  Select the following event file in  installdir  apps CityGuide citywalk xml     The player buttons at the bottom of the window are now active  Press the green play  button  right pointing triangle  to run the script     The display shows four types of landmarks  restaurants  museums  shops  and  theaters  To adjust the landmark display  open the soft menu and choose the Settings  command     Use the navigation keys to highli
176. re  This field cannot  be edited     Certificate Details  Displays the details of the certificate of the key to be exported     Emulator  The drop down menu lists all the device emulators available  See Security  Domains     Security Domain  Enables you to select a security domain for the key pair  The  menu lists all domains supported by the selected emulator platform     Keys Registered in the Platform  Lists all keys that have been registered in the  selected platform  Click to select the key you want to export     Delete Key  Deletes a selected key from the Keys Registered in the Emulator  window     Chapter 5 Viewing and Editing Project Properties 61    Export  Exports the selected key to the selected emulator  The export button is  enabled if it is possible to export the key  If a specific key is installed it cannot be  installed again         8 gl General       Platform  H  S Application Descriptor     Sp Build     gt  Running    Running Settings    To view this property page  right click on a project and choose Properties  In the  Properties window  choose Running  The options shown depend on the platform   See Running a MIDP Project and Running a CDC Project     Running a MIDP Project    To set emulator command line options for a MIDP project  type in the command line  switches  See Running the Emulator From the Command Line     For CLDC projects  the Regular execution button is enabled by default  This means  the setting for    Specify the Security Domain    applies
177. re filename     Deletes a key from the given ME keystore with the given owner        Generating Stubs  wscompile     Mobile clients can use the Stub Generator to access web services  The wscompile tool  generates stubs  ties  serializers  and WSDL files used in Java API for XML  JAX   RPC clients and services  The tool reads a configuration file  that specifies either a  WSDL file  a model file  or a compiled service endpoint interface  The syntax for the  stub generator command is as follows     wscompile  options  configuration files    TABLE 17 1 lists the wscompile options     TABLE 17 1 wscompile Options       Option Description    d output directory Specifies where to place generated output files   f  features Enables the given features    features   features Same as  f   features    Chapter 17 Command Line Reference 143    144    TABLE 17 1 wscompile Options  Continued        Option Description   g Generates debugging info   gen Same as  gen client     gen client   httpproxy  host port   import    model file    0    s directory   verbose    version     cldc1 0     eldel  1     cldcl 0info    Generates client artifacts  stubs  etc     Specifies a HTTP proxy server  port defaults to 8080   Generates interfaces and value types only   Writes the internal model to the given file   Optimizes generated code   Specifies where to place generated source files  Outputs messages about what the compiler is doing  Prints version information    Sets the CLDC version to 1 0  default  
178. rk adapters     3  Run Windows Mobile 6 Professional Emulator and bind its emulated NE2000  Network Adapter to a desktop network card     117    Emulator Properties i Xj    n    General   Display Network   Peripherals    IV Enable NE2000 PCMCIA network adapter and bind to      Microsoft Loopback Adapter   Virtual Machine Network Services Driver        Enable c56900 network adapter and bind Eo      connected network card z        Host only networking    Cancel      m Consult the Microsoft device emulator documentation for instructions        m Don t use ActiveSync for networking  cradling the emulator    4  Write down the IP address of the emulator     Open the Start menu on the emulator  click Settings  click Connections  click  Network Cards  Click NE2000 Compatible Ethernet Driver     118 Java ME Platform SDK Help   April 2009      er Y  d   ok    MEZ  UU Compatible Ethernet Driver    Settings                   O Use server assigned IP address      Use specific I address  IP address   Subnet mask   Default gateway  EFC RTT EN         IP Address    Mame Servers    Cancel E         5  Open Emulator Properties  a  Open the File menu     b  Click Configure     Chapter 15 Installing CLDC Emulation on a Windows Mobile Emulator    119    o   Windows Mobile 6 Professional    Saturday 33 PM  December 06  7007    Phone off       Tear  bee be cb sree in ser sbi     6  Set JavaMESdkHome  on device winmobile arm as a shared folder   a  Browse to JavaMESdkHomeNon deviceNwinmobile arm    
179. roperties xml file and change the name  property string to a unique name     You can also change the values in device properties     4   n the system tray  right click on the Device Manager icon and select Exit from the  context menu     Chapter 6 Running Projects in the Emulator    72    D     Start the Java ME Platform SDK     In the Device Selector you see a new node named Other  All your custom devices are  listed here  To assign this device to a project  right click the project  select Properties   and choose Platform  Your instance appears in the Device drop list     You can also edit the device adaptor to create a new instance  For example  to create  a second instance of the ClamshellCldcPhone  follow these steps     E    Go to installdir  toolkit lib process device manager device adapter   ClamshellCldcPhone     Make a copy of 1  bean  and name it 2  bean     Edit 2  bean to change the device number to 2  For example   ClamshellCldcPhone2     Exit the SDK and exit the Device Manager     Start the SDK  ClamshellCldcPhone2 is listed in the Other category     Java ME Platform SDK Help   April 2009    CHAPTER 7       Searching the WURFL Device  Database       The Wireless Universal Resource File  WURFL  is an XML file that acts as a global  database of mobile device capabilities  WURFL is an open source project at   http    wurfl sourceforge net   The WURFL DB    http    www wurflpro com   is a web based interface that allows WURFL  contributors to add or change device i
180. s  see TABLE 3 1     Running the Demos Sample Project    This demo contains several MIDlets that highlight different MIDP features   m Colors   m Properties   m Http   m FontTestlet  m Stock   m Tickets   m ManyBalls   m MiniColor   m Chooser   m HttpExample  m HttpView   m PushExample    Colors    This application displays a large horizontal rectangle that runs the width of the  screen  Below  ten small vertical rectangles span the screen  Finally  three horizontal  color bars indicate values for blue  green  and red  RGB   Values are expressed as  decimal  0 255  or hexadecimal  00 ff  based on the first menu selection     m To select a vertical bar to change  use the up navigation arrow to move to the  color bars  Use the right navigation arrow to highlight a color bar  The large  rectangle becomes the color of the selected bar     m Usethe up or down selection arrows to choose the value to change  red  green  or  blue   Use the left or right arrow keys to increase or decrease the selected value   The second menu item allows you to jump in increments of 4  Fine  or 32  coarse      m You can change the color on any or all of the vertical bars     Java ME Platform SDK Help   April 2009    Properties    This MIDlet displays your system property values  The output is similar to the  following values        Free Memory   2333444  Total Memory   4194304       microedition configuration    CLDC 1 1   microedition profiles    MIDP 2 1   microedition platform    j2me   microedition
181. s Java ME application developers to fetch data  from sensors  A sensor is any measurement data source  Sensors can vary from  physical sensors such as magnetometers and accelerometers to virtual sensors that  combine and manipulate the data they have received from various kinds of physical  sensors  An example of a virtual sensor might be a level sensor indicating the  remaining charge in a battery or a field intensity sensor that measures the reception  level of the mobile network signal in a mobile phone     JSR 256 supports many different types of sensor connection  wired  wireless   embedded and more  but this SDK release only provides preconfigured support for  sensors embedded in the device     The SDK GUI provides sensor simulation  The emulator   s External Events Generator  Sensors tab allows you to run a script that simulates sensor data     You can use the custom API available with the SDK to create a custom sensor  implementation with additional capabilities and support for different connection    types        Creating a Mobile Sensor Project    To use this API  create a project with the target platform Custom  You must select  MIDP 2 0 or higher and CLDC 1 1 before you can select the Mobile Sensor API  optional package     To set permissions  click the Settings button and choose the Permissions icon     A sensor project freely detects sensors  but this does not imply you can get data from  the sensors you find  You might need to explicitly set permissions in your
182. s are as follows     memory panel   At the top of the window you see a grid of rectangles representing  memory blocks  This is the memory panel  The key on the top right indicates the  meaning of each graphical image  For example  blocks that are completely black are  at 100  utilization  Clicking a single block opens a dialog showing all the objects in  that block     loaded classes   A list of loaded classes is displayed in the lower left corner   Choosing a class from the list causes the location of all objects in the class to be  displayed in class objects list immediately to the right     class objects   The class objects list is populated when you select a class from the list  of loaded classes  Select an object to see the class details  These include the address  of the object  its type  and all references to and from the object  If the object is live   the    Show path from the root    button is enabled  Clicking this button opens the Path  from the Root window  which displays dependencies that prevent this object from  being garbage collected     statistics   At the bottom right of the Memory Observer window  click the Statistics  button to see a table showing the information for each class  Some objects are  internal to the virtual machine  For each class  you see the Object number  size of all  objects in the heap  the average size of the object  the percentage of the heap used by  the selected class  the percentage of objects live in the selected class  and the  p
183. s associated with an existing content handler  An image viewer  content handler  for example  might include an action for viewing the image at its  original size and another action that makes the image fill the available screen space     In the Projects window  right click on a project and choose Properties from the  context menu  In the Category pane  select Application Descriptor  and click the  Content Handler tab  Press Add or Edit to open the Content Handler Properties  window and click on the Actions tab  as shown here      amp  Content Handler Properties    A    Content Handler   Actions   _    Actions  Locales        open en_US    Localized Actions     open  en_US Textviewer                         The Actions list contains the internal names of the actions for this content handler   Locales is a list of all the locales for which human readable action names will be  provided  Localized actions is a grid which contains the human readable action  names for various locales  Each locale is represented by a row  while the actions are  listed as columns  You can see all the human readable action names for a particular  locale by reading across a single row     Java ME Platform SDK Help   April 2009       Running the CHAPIDemo Content  Browser    This demo is a content browser that takes advantage of the content handler registry   It allows you to view different types of content from different sources     m In the user interface  select File  gt  Open Sample Project  gt  CHA
184. s used to create a digital signature  or certificate     m A public key that anyone can use to verify the authenticity of the digital  signature     You can create a key pair with the Keystores Manager as described in Managing  Keystores and Key Pairs     Follow these steps to sign a project with a signing key pair   1  Right click on a project and select Properties    2  From the Build hierarchy  select Signing    3  Check the Sign Distribution checkbox     4  Choose a keystore from the Keystores drop down menu  or click Open Keystores  Manager to create a new keystore     The Certificate Details area displays the Alias  Subject  Issuer  and validity dates  for the selected keystore   5  Choose a key pair alias from the drop down menu     A keystore might be accessed by several key pairs  each with a different alias  If  you prefer to use a unique key pair  select Open Keystores Manager and create a  new key pair  See Creating a Keystore     6  Click OK     Note     CDC projects cannot be signed with this tool  To sign a CDC project use the  JDK jarsigner command from the command line  For example    jarsigner exe  keystore keystore ks  storepass keystorepwd  MyCdcApp jar dummyCA    See Signing        96    Managing Keystores and Key Pairs    For test purposes  you can create a signing key pair to sign a MIDLet  The Keystores  Manager administers this task  as described in the remainder of this topic The key  pair consists of two keys     m A private key that is used to crea
185. select Properties and choose Running  Enable Regular  execution and check Specify the Security Domain  Choose maximum from the list     3  Run the project     Java ME Platform SDK Help   April 2009       APDUMIDlIet    This MIDlet demonstrates communication with a smart card using Application  Protocol Data Units  APDUs   small packets of data  APDUMIDlet expects to find  two simulated smart cards  You can run the smart card simulator using cref  which  is part of the Java Card Development Kit           The Mohair application includes pre built memory images that you can use with  cref  The memory images contain Java Card applications with which Mohair  interacts  The memory images are in the root directory of the Mohair project     1  Right click on the project  select Properties  and choose Running  Enable Regular  execution and check Specify the Security Domain  Choose maximum from the list     2  Start up two instances of cref  one for each simulated card slot  assuming the  current directory is the SDK installation directory      start bin cref  p 9025  i apps SATSADemos demo2 eeprom  start bin cref  p 9026  i apps SATSADemos demo2 eeprom       Note that the port number arguments  9025 and 9026 in this example  must match  the SATSA port numbers  Also  make sure you use the correct path to  demo2 eeprom     3  Once you have the two smart card simulators running  run SATSADemos  Select  APDUMIDlIet  select the Menu soft key and select Launch  1   Press Go when  prompted  
186. source Files     Working With Locales    Locales are represented as folders under the top level global node  The locale  directories contain resource files which  in turn  hold the actual resources that can be  used by the application     Locales are represented by standard language and country codes as described in the   MIDP 2 0 specification  For example  pt BR represents Portuguese speaking people   living in Brazil    m To add a locale  right click on the top level global node and choose Add Locale   Choose the locale from the combo box  or type it directly  and click OK    m To rename a locale  right click the locale directory and choose Rename     m To remove a locale and all its contained resource files  right click the locale  directory and choose Delete     Working With Resource Files    Resource files can be global  at the top level  or specific to a locale     m Tocreate a new global resource file  right click the top level global directory and  choose Add new resource file  Choose a name for the file     m To rename a resource file  right click the file and choose Rename     m You can copy  cut  and paste entire resource files  Right click a file and choose  Copy or Cut  Then right click the locale directory  or the top level global  and  choose Paste     m To remove a resource file  right click the file and choose Delete     Java ME Platform SDK Help   April 2009    Working With Resources    Click on a resource file to display its contents    m To add an image o
187. splays on the screen during play  Graphical user interface controls can be viewed  on the display screen if applicable  You can access these controls by selecting one of  the media samples in Simple Player  then pressing the Menu button to view and  select the desired command     Select Simple Player then click Launch  The demo includes the following media  samples     Java ME Platform SDK Help   April 2009    m Bong plays a short WAV file  You can adjust certain playback features  as  described later in this document  The display shows the duration of the sound in  minutes seconds tenths of a second  for example 00 17 5  This audio sample is a  resource file in the MIDlet suite JAR file     m MIDI Scale plays a sample musical scale  The display shows the title of the  selected music file  the duration of the song  the elapsed time during playback   and the current tempo in beats per minute  bpm   This MIDI file is stored in the  MIDlet suite JAR file     m Simple Ring Tone plays a short sequence of Beethoven s Fifth Symphony  The  display shows the title of the selected music file  the duration of the song  the  elapsed time in seconds and tenths of a second during playback  and the current  tempo in beats per minute  bpm   This ringtone file   jts format  is stored in the  MIDlet suite JAR file     a WAV Music plays a brief audio file  The display shows the title of the audio file   the duration of the audio the elapsed time during playback  and the playback rate  in percen
188. ssword is optional  If you do provide a password  it must have at least six  characters     5  Click OK     The new key is displayed in the Keys area under its alias  You can now select this  keypair when you sign a project  See    Signing a Project    on page 95     Removing a Key Pair  1  Select Tools  gt  Keystores   2  In the Keys area  click on a Key Pair     3  Select Delete     Importing an Existing Key Pair    If you have keys in a Java SE platform keystore that you would like to use for  MIDlet signing  you can import the signing keys to the Java ME SDK     1  Select Tools    Keystores     2  Click Add Keystores   The Add Keystores window opens     3  Click Add Existing Keystore   4  Browse to the keystore location     5  Click OK        Managing Root Certificates    The Java ME Platform SDK command line tools described in Managing Certificates   MEKeyTool  manage the emulator s list of root certificates     Real devices have similar lists of root certificates  although you typically cannot  modify them  When you deploy your application on a real device  you must use  signing keys issued by a certificate authority whose root certificate is present on the  device  This makes it possible for the device to verify your application     Each emulator instance has its own  main ks file located in  users home   javme sdk 3  0 work emulator instance   appdb     Chapter 12 Security and MIDlet Signing 99    The micro keystore  main mks resides in the following directory   insta
189. stacks     See J2SE and CDC Platforms and J2ME Platforms  CLDC and MIDP      Java ME Platform SDK Help   April 2009    J2SE and CDC Platforms    To view the Java Platform Manager  select Tools  gt  Java Platforms  The J2SE platform  supports the Java ME Platform SDK  The CDC platform supports the CDC Stack   which also supports the BD J Stack  In the standard Java ME Platform SDK  installation the J2SE and CDC platforms have the same options     Classes  View the platform   s classpaths  Add a JAR or folder containing additional  classes  moving the classes up and down in the list determines their place in the  classpath     Sources  Add JAR files or source files to the Sources tab to register source code     Javadoc  Add Javadoc documentation to support any new classes or sources files  you have added     See Managing Java Platforms and Adding a Java Platform     J2ME Platforms  CLDC and MIDP     To view the Java Platform Manager  select Tools  gt  Java Platforms  The J2ME  platform supports CLDC projects  This platform also serves to run JavaFX projects   see JavaFX Platform      Devices  View all the CLDC devices  including JavaFX devices  that the Device  Manager has discovered  Click Refresh to reconfigure the platform and refresh the  list     Sources  Add JAR files or source files to the Sources tab to register source code     Javadoc  Add Javadoc documentation to support any new classes or sources files  you have added     Tools  amp  Extensions  View the tools and ex
190. t  This WAV file is retrieved from an HTTP server     m MIDI Scale plays a MIDI file that is retrieved from an HTTP server     m The Animated GIF example shows an animated GIF that counts from 1 to 5  The  file is stored in the MIDlet suite JAR file     m Audio Capture from a default device lets you capture audio from a microphone  or connected device  The sound is captured and played back on the speaker  To  avoid feedback  use a headset     m Video Capture Simulation simulates viewing input video such as might be  possible on a device equipped with a camera     m MPEG  Video  http   Plays an MPEG video found at  http   java sun com products java media mma media test mpeg mp  g    m  enter URL  allows you to play back media files from arbitrary HTTP servers   Type a valid URL  for example   http   java sun com products java media mma media test wav mpg    at the insertion point and click OK to play a file  If you want to open an HTTP  directory from which to select media  be sure to add a slash to the end of the URL     In addition  Simple Player parses ring tones in Ringing Tones text transfer language   RTTTL   See http   www convertyourtone com rtttl html for information  on RTTTL     The Simple Player includes a common set of commands that control media playback   The commands are available from the Simple Player menu  and some have  associated keypad buttons  TABLE 22 1 describes these commands     Chapter 22 JSR 135  Mobile Media API Support 177    178    The commands 
191. t  To remove an alert  press Remove and  select the alert  Choose the Done soft key     Chapter 3 Using Sample Projects 29    30    When the value is reached you will hear a ring and receive a message  For example   Symbol has reached your price point of  value and is currently trading at   current_value  Once the alert is triggered it disappears from the Current Alerts list     Tickets    This demonstrates how an online ticket auction application might behave  The home  screen displays a ticket ticker across the top  The Choose a Band field displays  Alanis Morrisette by default     To select a band  highlight the band name and press Select  Use the down arrow to  highlight a different band  moby  for example  then press Select  The available  auction appears     To make a bid  select the Menu soft key and choose 2  Use the arrow keys to move  from field to field  Fill out each field  Select the Next soft key  The application asks  you to confirm your bid  Use the arrow keys to highlight Submit then press Select   You receive a Confirmation number  Click Bands to return to the welcome page     To set an alert  select the Menu soft key and choose 3  Use the navigation arrows to  move to the field and type in a value higher than the current bid  Select the Save soft  key  You are returned to the welcome page  You can trigger the alert by making a bid  that exceeds your alert value  Your settings determine how often the application  checks for changes  so the alert may not soun
192. t_phone       cc    target phone number  Any number of these options can be used      bcc target phone       bec    target phone number  Any number of these options can be used      part contentId content ID  encoding encoding   text text    Appends text part to the message  Any number of these options can be used   Contains     a content ID  content ID of this message part    encoding  text encoding    m text  text of the message     part mimeType mime type  contentId content ID  file file name    Appends binary part to the message with content loaded from the given file  Any  number of these options can be used  Contains       content id  content ID of this message part    mime type  mime type of this message part    a file name  file with content of this message part    Chapter 17 Command Line Reference 151    152 Java ME Platform SDK Help   April 2009    CHAPTER 18       Logs       Java ME Platform SDK uses the log4j logging facility to manage three types of logs   m Java ME Platform SDK GUI Logs    m Device Manager Logs    m Device Instance Logs    Java ME Platform SDK GUI Logs    The default location for the messages log is  C  Documents and Settings   USER_HOME  javame sdk toolbar 3 0 var log     See also  Device Manager Logs and Device Instance Logs       Device Manager Logs    The device manager log is placed into  toolkit lib process device manager 1log  Logging levels can be configured    in the following XML file     toolkit lib process device manager conf 10g4j x
193. te a digital signature  or certificate     m A public key that can be used by anyone to verify the authenticity of the  signature     Java ME Platform SDK Help   April 2009    To deploy on a device  you must obtain a signing key pair from a certificate  authority recognized by the device  You can also import keys from an existing Java  SE platform keystore     The following topics describe the user interface   m Security Domains   m Creating a New Key Pair   m Removing a Key Pair    m Importing an Existing Key Pair    You can also use the command line tools described in Command Line Security  Features     Working With Keystores and Key Pairs    The Keystores Manager handles creating and using keystores  The keystores known  to the Keystores Manager are listed when you sign a project  as described in Signing     Keystores contain key pairs  which you can also manage from this dialog  You must  select a keystore to access the key pair tools     See Creating a Keystore  Adding an Existing Keystore  Creating a New Key Pair   Removing a Key Pair and Importing an Existing Key Pair    Creating a Keystore  Follow these steps to create a new keystore     1  Select Tools    Keystores     The Keystores Manager opens     2  Click Add Keystore   The Add Keystores window opens     3  Choose Create Keystore     4  Supply a name  location  and password     The default location is C  Documents and Settings   User     5  Click OK     The new keystore appears in the Keystores list     Chapter 1
194. tensions for this platform     See Managing Java Platforms  and Adding a Java Platform        Adding a Java Platform    To view the Add Java Platform wizard  select Tools  gt  Java Platforms  and click the  Add Platform button  You can add platforms that are installed on the SDK   s host  machine  This wizard sports adding several platforms  however     Chapter 2 Java ME Platform SDK Features 9    10    The wizard is described in the following topics  Selecting a Platform Type  Choose  Platform Folder and Name  Java SE and CDC   Choose Java ME MIDP Platform  Folders  and Choose Custom Java ME MIDP Platform Emulator     See Create a Platform for Legacy CDC Projects     Selecting a Platform Type    To see this page  select Tools  gt  Java Platforms  and click the Add Platform button   Select platform type is the first page of this wizard  The platform types are as  follows     Java Standard Edition  The standard Java SDK  There is no need to add SDKs  the  Java ME Platform SDK uses only the JDK you specified at installation time     Java ME MIDP Platform Emulator  One or more CLDC emulators that are  compliant with the Universal Emulator Interface Specification  UEI  and use  technology based on the phoneME    Feature project  see  https   uei dev java net and https    phoneme dev  java net      Custom Java ME Platform Emulator  A platform emulator that is not compliant  with the UEI standard     Java ME CDC Platform Emulator  One or more CDC emulators that are compliant  with 
195. test in  Java ME technology  The SDK provides support for Connected Limited Device  Configuration  CLDC  and Connected Device Configuration  CDC  platforms and  many optional packages  see the list of JCP APIs   In addition  it supplies  distribution support for BD J projects and allows you to run JavaFX    distributions  in the SDK framework     See the Quick Start and Tips for Legacy Toolkit Users for a brief overview of  essential features and concepts        Quick Start    The Java ME Platform SDK offers an intuitive user interface  The tips in offer some  hints for getting started as quickly as possible     m Access the documentation  The online help is the primary documentation for the  SDK  Many windows and dialogs feature a help button that opens  context sensitive help in the help viewer     Select Help    Help Contents to open the JavaHelp Online Help viewer  You can  also type F1  Remember to use the search capability and the index to help you  find topics     Note     If you require a larger font size  the help topics are also available as a  printable PDF and a set of HTML files  You can also run the SDK with a different  size font  as described in Launching the SDK        m Run sample projects  Running sample projects is a good way to become familiar  with the SDK     See Running a Project for a general overview of how to run a project     m See the Projects View and the Files view for a visual overview of the logical and  physical layout of a project  When view
196. th  and OBEX APIs        Bluetooth Simulation Environment    The Java ME Platform SDK emulator enables you to develop and test applications  that use Bluetooth without having actual Bluetooth hardware  The SDK simulates a  Bluetooth environment for running emulators  Multiple emulator instances can  discover each other and exchange data using the Bluetooth API     For an example  see Running the Bluetooth Demo     167       OBEX Over Infrared    The Java ME Platform SDK implements OBEX transfer over simulated Bluetooth and  infrared connections  The simulated infrared connection follows the IrDA standard   see http    www irda org    Simulated infrared transfers can take place between  multiple running emulators        168    Setting Bluetooth and OBEX Preferences    The Java ME Platform SDK enables you to configure the Bluetooth and OBEX  simulation environment  Choose Edit    Preferences and select Bluetooth OBEX to  display the following window     OBEX Preferences    Devices using IrDA in the real world discover other devices by listening  You can  configure how long the Java ME Platform SDK emulator waits to discover another  device using the Discovery timeout field in the IrDA OBEX section of the preferences  window  Enter a value in milliseconds     At the API level  the discovery timeout value determines how long a call to  Connector open  irdaobex   discover      blocks before it returns or  throws an exception     The maximum packet length affects how much data is s
197. the  animation from the beginning     Chapter 26  JSRs 184  226  and 239  Graphics Capabilities 209    Optimized Menu    In this demo  selected icons have a yellow border  As you move to a new icon  it  becomes selected and the previous icon flips to the unselected state  If you navigate  off the icon grid  selection loops around  That is  if the last icon in a row is selected   moving right selects the first icon in the same row     This demo illustrates the flexibility that combining UI markup and Java offers  a rich  set of functionality  graphics  animations  high end 2D rendering  and flexibility in  graphic manipulation  pre rendering or playing     In this example  a graphic artist delivered an SVG animation defining the transition  state for the menu icons  from the unselected state to the selected state  The program  renders each icon s animation sequence separately into off screen buffers  for faster  rendering later on   using the JSR 226 API     With buffering  the MIDlet is able to adapt to the device display resolution  because  the graphics are defined in SVG format  and still retain the speed of bitmap  rendering  In addition  the MIDlet is still leveraging the SVG animation capabilities     The task of defining the look of the menu items and their animation effect  the job of  the graphic artist and designer  is cleanly separated from the task of displaying the  menu and starting actions based on menu selection  the job of the developer   The  two can vary in
198. the  display resolution and form factor of the user s display     SVG images can be animated in two ways  One is to use declarative animation  as  illustrated in Play SVG Animation  The other is to repeatedly modify the SVG image  parameters  such as color or position   through API calls     While it is possible to produce SVG content with a text editor  most people prefer to  use an authoring tool  Here are two possibilities   m Ikivo Animator   http    www ikivo com animator     m Adobe Illustrator    http   www  adobe com products illustrator main html    Running SVGDemo    This project contains MIDlets that demonstrate different ways to load manipulate   render  and play SVG content     SVG Browser    The SVGBrowser MIDlet displays SVG files residing in the phone file system  Before  running this demo  place an SVG file in your device skin   s file structure at     device  appdb  filesystem root1    For your device location  see   javame sdk 3 0 work  on page 80  Launch the  demo  The application displays the contents of root1  Select your SVG file and  choose the Open soft key     Render SVG Image    Render SVG Image loads an SVG image from a file and renders it  Looking at the  demo code you can see that the image is sized on the fly to exactly fit the display  area  The output is clear and sharp     Play SVG Animation    This application plays an SVG animation depicting a Halloween greeting card  Press  8 to play  5 to start  and 0 to stop  If you press 8  pressing 5 r
199. the UEI and use technology based on phoneME    Advanced  see   https    phoneme dev  java net   The CDC platform includes the CDC and  BD J stacks     See Selecting a Platform     Choose Platform Folder and Name  Java SE and  CDC     To see this page  select Tools  gt  Java Platforms  and click the Add Platform button   Select Java Standard Edition or Java ME CDC Platform Emulator  and click Next     In the    Look in    field  browse to select a Platform folder  Select a directory and click  Next  On the Platform Name page  perform these steps     1  Specify a platform name   2  Browse to select the platform sources  typically a zip or JAR file    3  Browse to choose Javadoc documentation  optional      Continue to Choose Location  JavaSE and CDC      Java ME Platform SDK Help   April 2009    Choose Location  JavaSE and CDC     This is the final page in the Add Java Platform wizard  If you have chosen a  platform  the Platform Name field is populated for you  You might have to wait a  second for this to happen  This wizard page also displays the Sources and Javadoc  tabs  Click the Add    button to add files to this project  Click Next when you are  finished     See Adding a Java Platform     Create a Platform for Legacy CDC Projects    The Java ME Platform SDK version 3 0 platform name for CDC does not match the  name in the legacy CDC toolkit and the CDC Mobility Pack  The legacy name is     Sun Java Toolkit 1 0 for Connected Device Configuration    while the SDK name is  
200. the emulator  select Application  gt  Exit     The profile data snapshot is saved  and the SDK reports the location of the profile  data in the Output window  The profile data is displayed in a tab labeled  CPU time  where time is the time the snapshot was saved     Java ME Platform SDK Help   April 2009    See Loading Profiler Data        Loading Profiler Data    This procedure views data collected with the Profiler  as described in Saving Profiler  Data     Follow these steps to retrieve profile data   1  In the main window toolbar  select Tools  gt Import Java ME SDK Snapshot       2  Choose the data  prof file     The default location is  C  Documents and Settings user javame sdk   3 0 work device number  data  prof     The Profiler opens in its own tab in the main window labeled CPU time     See Saving Profiler Data and Viewing Profiler Data        Viewing Profiler Data    This procedure views data collected with the Profiler  See Saving Profiler Data  The  data can be seen immediately after it is collected  as described in Saving Profiler  Data  or when it is imported  as described in Loading Profiler Data        Note     The profiling values obtained from the emulator do not reflect actual values  on a real device        Chapter 9 Profiling Applications 83       CPU  05 26 58 PM x   aJ GS  view   G  Packages    le  Qa dy    Call Tree   Package Time  9o      Time Invocations        All threads eei j 1 A   es ee   s    100 1       9 java lang  85 496  48   W com sun midp
201. this option is not used  the  preverifier places the classes in a directory called output        Following the example for compiling  use the following command to verify the  compiled class files  As before  newlines are added for clarity     preverify   classpath       lib cldcapil0 jar       lib midpapi20 jar   d classes  tmpclasses    As a result of this command  preverified class files are placed in the classes  directory  If your application uses WMA  MMAPI  or other versions of CLDC or  MIDP  be sure to include the relevant   jar files in the classpath        Packaging a MIDLet Suite J AR and JAD     To package a MIDlet suite manually you must create a manifest file  an application  JAR file  and finally  a MIDlet descriptor  also known as a Java Application  Descriptor or JAD      Create a manifest file containing the appropriate attributes as specified in the MIDP  specification  You can use any text editor to create the manifest file  For example  a  manifest might have the following contents        MIDlet 1  My MIDlet  MyMIDlet png  MyMIDlet  MIDlet Name  MyMIDlet   MIDlet Vendor  My Organization  MIDlet Version  1 0  MicroEdition Configuration  CLDC 1 1  MicroEdition Profile  MIDP 2 1                Create a JAR file containing the manifest as well as the suite s class and resource  files  To create the JAR file  use the jar tool that comes with the Java SE software  development kit  The syntax is as follows     jar cfm file manifest  C class directory    C resourc
202. ties     Choose the Platform category  From the Device drop down menu  select the name  of the connected device  Click OK     Select FPDemo and select Run    Run Project in Debug Mode  or click the Run  Main Project in Debug mode icon on the toolbar     Open a Windows shell     Start jdb with the following command     db  sourcepath installdir apps FPDemo src  connect  com sun jdi SocketAttach hostname 127 0 0 1 port port number    In this case the port number is 51307 to match the default debugging port  number     Set the breakpoint at the place where the demo handles its menu commands        stop in calculator CalculatorMIDlet commandAction    In the FPDemo application  enter two numbers  choose an operation  and invoke  the Calc command     The debugger displays the place where the execution stops     To step through the source past the point where the result is calculated  use the  next command until you get past the following line     res   nl   op   n2     Check that the input and the calculated values are correct     Chapter 16  On device Debugging 129    130    11     12     13     14     15     eval n1  eval n2  eval res  Override the calculated value as follows   set res   new value   Clear the breakpoint as follows     clear calculator CalculatorMIDlet commandAction    Let the application continue    cont   You can see that the application displays the overridden result   Exit the debugger    exit    Exit FPDemo     Java ME Platform SDK Help   April 2009    CHAPTE
203. tion starts immediately and the debugger  can be attached at any time during its run     When suspend is set to y  the application does not start until a debugger  attaches to the debugging port and sends a resume command  This means that  an application can be debugged from the very beginning     m  Xverbose trace options    Display trace output  as specified by a list of comma separated options  as  follows        gc   Trace garbage collection    class   Trace class loading      all   Use all tracing options  This example shows debugging     emulator exe  Xdevice DefaultCldcMsaPhone2  Xdebug   Xrunjdwp transport dt socket  suspend y server y address 51307   Xdescriptor C  Java_ME_platfrom_SDK_3 0 appps Games dist Games jad    See also MIDlet Options  CDC Options  and Running the Emulator From the  Command Line        Building a Project from the Command  Line    In the user interface  building a project is a single step  Behind the scenes  however   there are two steps  First  Java source files are compiled into Java class files  Next   the class files are preverified  which means they are prepared for the CLDC VM  See  the following topics     m Checking Prerequisites    m Compiling Class Files    Chapter 17 Command Line Reference 137    138    m Preverifying Class Files    Checking Prerequisites    Before building and running an application from the command line  verify that you  have a version no earlier than 1 6 of the Java SE software development kit  Make  sure the jar
204. tribute   Follow these steps to edit an attribute    1  Select an attribute    2  Click Edit    to open the Edit Attribute window   3  Enter a value for the attribute    4  Click OK     API permissions  Push Registry Entries  and API Permissions have their own  property pages  See  MIDlets  Push Registry  and Signing     Removing an Attribute    Select an Attribute and click Remove to delete it from the list     MIDlIets    To view this page  right click on a project and choose Properties  Select the  Application Descriptor category  and select the MIDlets tab     Java ME Platform SDK Help   April 2009    The MIDlets table lists the MIDlets contained in the suite and the following  properties     Name  The displayable name of the MIDlet that the user sees when the MIDlet is run  on a mobile device     Class  The Java class for the MIDlet     Icon  An icon  a  png file   representing the MIDlet that the user sees when the  MIDlet is run on a mobile device     Adding a MIDlet    Follow these steps to add a MIDlet     1  Click Add    to open the Add MIDlet window  It lists the MIDLets available in the  project     2  Enter a name  then select a MIDlet class from the dropdown menu  You can also  choose an icon for the MIDlet from the MIDlet icon dropdown menu     3  Click OK     Editing a MIDlet    Follow these steps to edit a MIDlet    1  Select a MIDlet    2  Click Edit    to open the Edit MIDlet window   3  Enter a value for the attribute     4  Click OK  The revised values ar
205. tributes    To view this property page  right click on a CDC project and choose Properties   Select the Application Descriptor category     Application Name  Enter the display name of the application on the target device   ApplicationVendor  The company name or author name for the application   Description  A concise description of the application     Detail Description  A detailed descriptionof the application     MIDP Attributes    To view this property page  right click on a MIDP project and choose Properties   Select the Application Descriptor category  and select the Attributes tab     The General Attributes table lists the attributes currently contained in the JAD and  JAR manifest files     Type  Lists whether the attribute is required or optional   Name  The name of the attribute   Value  The values for each attribute     To avoid errors in verification     Chapter 5 Viewing and Editing Project Properties 53    54    m Make sure all required attributes have a defined value     m Do not begin user defined attribute keys with MIDlet  or MicroEdition      See  Editing an Attribute  and Adding an Attribute    Adding an Attribute  Follow these steps to add an attribute   1  Click Add    to open the Add Attribute window     2  Choose an attribute from the Name combo box  or delete the current entry and  add your own custom entry  Do not begin a user defined attribute name with  MIDlet  or MicroEdition      3  Enter a value for the attribute     4  Click OK     Editing an At
206. u saved     See also  Using the Network Monitor  Filtering Messages  Sorting Messages   Clearing the Message Tree    Clearing the Message Tree    To remove all messages from the network monitor choose the clear icon  the broom  icon on the right of the Network Monitor tool bar      Ba qo    See also  Using the Network Monitor  Filtering Messages  Sorting Messages  Saving  and Loading Network Monitor Information    Java ME Platform SDK Help   April 2009    CHAPTER 1 1       Lightweight UI Toolkit       The Lightweight UI Toolkit  LWUIT  is a lightweight widget library inspired by  Swing but designed for constrained devices such as mobile phones and set top  boxes  Lightweight UI Toolkit supports pluggable theme ability  a component and  container hierarchy  and abstraction of the underlying GUI toolkit  The term  lightweight indicates that the widgets in the library draw their state in Java source  without native peer rendering     LWUIT is an open source project at https    lwuit dev java net   For more  information see the Lightweight UI Toolkit Developer   s Guide     LWUIT supports the following resource elements  images  animation  bitmap fonts    localization bundles  and themes  Resources are delivered as a bundle   a binary file  that can be loaded and used on the device  Java ME Platform SDK supports LWUIT  with an integrated Resource Manager for creating and maintaining resource bundles     m Adding the LWUIT Library  m Using the LWUIT Resource Manager       Adding t
207. uage bindings for two APIs  OpenGL for  Embedded Systems  OpenGL ES  and EGL  OpenGL ES is a standard API for 3D  graphics  a subset of OpenGL  which is pervasive on desktop computers  EGL is a  standard platform interface layer  Both OpenGL ES and EGL are developed by the  Khronos Group  http    khronos org opengles       While JSR 184  which is object oriented  requires high level functionality  OpenGL is  a low level graphics library that is suited for accessing hardware accelerated 3D  graphics  Explore the OpenGLESDemo sample project code        Scalable 2D Vector Graphics  JSR 226     The Java ME Platform SDK emulator supports JSR 226  the Scalable 2D Vector  Graphics API for J2ME  Scalable Vector Graphics  SVG  is a standard defined by the  World Wide Web Consortium  It is an XML grammar for describing rich  interactive  2D graphics     The Scalable Vector Graphics  SVG  1 1 specification  available at  http    www w3  org TR SVG11   defines a language for describing  two dimensional graphics in XML     SVG Tiny  SVGT  is a subset of SVG that is appropriate for small devices such as  mobile phones  See http    www w3 org TR SVGMobile   SVGT is a compact   yet powerful  XML format for describing rich  interactive  and animated 2D content   Graphical elements can be logically grouped and identified by the SVG markup     Chapter 26 JSRs 184  226  and 239  Graphics Capabilities 207    208    Java ME applications using SVG content can create graphical effects that adapt to 
208. uence and the wav sequence play simultaneously   Press the Pause soft button to interrupt  and press Play to resume     Chapter 22 JSR 135  Mobile Media API Support 175    176    Running MMAPIDemos    The MMAPIDemos application contains four MIDlets that showcase the SDK s  multimedia capabilities     m Simple Tones   m Simple Player   m Video   m Pausing Audio Test    Simple Tones    Simple Tones demonstrates how to use interactive synthetic tones  Select a sample   then click Play on the lower right     m Short Single Tone and Long Single Tone use Manager playTone   to play tones  with different pitch     m Short MIDI event plays a chord on the interactive MIDI device  locator   device   midi    The shortMidiEvent   method of MIDIControl is used  to trigger the notes of the chord     m To run the MMAPI Drummer demo  click or type number keys  0 9   Each  number plays a different sound     Simple Player    The Simple Player application demonstrates the range of audio and video  capabilities of the emulator  It includes sample files in a variety of formats and can  play files from the emulator s persistent storage or from HTTP URLs     The player portion uses a generic javax microedition media Player interface   The player displays duration  media time  and controls for running the media file  If  metadata is available in a file  the player enables you to view the information  such  as author and title  In the case of MIDI files  if karaoke text is present in the file  it  di
209. ul  when you are running multiple emulator instances and you  want to see them all and send messages between devices     External Events Generator The external events generator is a utility for simulating  external file systems or applications communicating with the  application running on the emulator  Inputs can come from a  script file on your PC or they can be injected based on your  interaction with a user interface     The external events generator provides a tab to support JSR  implementations that require external event emulation  File  Connection  75   Location  179   Payment  229   and Sensors   256   See FileConnection API  Running the CityGuide Sample  Project  Running JBricks  Using a Mobile Sensor Project     Orientation Choose a degree of rotation  0  90  180  or 270 degrees  clockwise from the 0 position  or  rotate clockwise by 90  degrees from the last position  F8  or counterclockwise by 90  degrees  F9            Adding a Device Instance    As described in Viewing Device Properties  a particular device emulator can have  more than one instance  and each instance is differentiated by a number appended to  the emulator name  as seen in TABLE 8 1  Each device instance is stored in a  numbered directory in  javame sdk 3 0 work     To create your own instance  follow these steps   1  Close the Java ME Platform SDK     2  In  javame sdk 3 0 work  copy a numbered directory and rename it with the  next number in the sequence     3  In the new directory  open the p
210. ur development  You can compile  and run the MIDlet immediately     Create Main Class  This check box is only visible for a new CDC project  Enter the  fully qualified name of the main class without the   java extension  For example   com me MyClass     Platform Selection    You can view this form in the New Project wizard  or  in the Projects view   Right click a project  select Properties  and select Platform     These settings help you test how your project runs on devices with different  capabilities  Your choice of device limits your choice of Device Configuration  Device  Profile  and Optional Packages  if applicable      Emulator Platform  In the New Project wizard this field is predetermined     Chapter 4 Creating and Editing Projects 41    Device  Select a device  Only devices appropriate for the platform appear in the  Device drop down menu  The device selection determines the remaining options     Device Configuration  Select a CLDC version     Device Profile  Select a MIDP version  The available selections are determined by  the Device Configuration     Optional Packages  This pane is visible when you are viewing an existing project   You can check or uncheck optional packages to approximate device capabilities     Specify WTK Project  To see this form  start the New Project wizard and select Import Wireless Toolkit    Project     WTK Location  Browse to select the location of your Sun Java Wireless Toolkit  installation  Choose the installation directory     Dete
211. urn to the list  choose the Back command  You ll see the item you just created  in the list     The items that you create are stored in standard vCard or vCalendar format in the  USER_HOME javame sdk 3  0 work emulator instance appdb filesystem ski  n pim directory  See Chapter 20 for more information     The PIM API allows for exporting contact  calender  and to do items in a standard  format  The exact format depends on the list type  When you are viewing an item in  any list  the menu contains a command for viewing the exported item     For example  when you are viewing a contact list item  the menu contains Show  vCard  When you choose this command  the exported item is shown on the screen   Calendar items and to do items both get exported as vCalendar     Chapter 20 JSR 75  PDA Optional Packages 165    166 Java ME Platform SDK Help   April 2009    CHAPTER 21       JSR 82  Bluetooth and OBEX  Support       The Java ME Platform SDK emulator supports JSR 82  the Java APIs for Bluetooth    The emulator is fully compliant with version 1 1 of the specification  which describes   integration with the push registry  JSR 82 includes two independent APIs    m The Bluetooth API provides an interface to Bluetooth wireless networking   including device discovery and data exchange    m The OBEX API allows applications to use the Object Exchange  OBEX  protocol  over Bluetooth or other communication channels     This chapter describes how the Java ME Platform SDK implements the Bluetoo
212. us shows the message received from the server   Until you send a new message  the Send box contains the previous message you  sent     Chapter 3 Using Sample Projects 33    34    Datagram Demo    This demo is similar to Socket Demo  Run two instances of the emulator  One acts as  the datagram server  and the other as the datagram client     1  In the first emulator  launch Datagram Demo  then select the Server peer  Choose  Start  The emulator explains that the demo wants to send and receive data over  the network and asks     Is it OK to use network     Choose Yes  Initially  the  Datagram Server status is Waiting for connection  and the Send box is  empty     2  In the second emulator  launch Datagram Demo  select the Client peer  then  choose Start  The emulator explains that the demo wants to send and receive data  over the network and asks     Is it OK to use network     Choose Yes  The Datagram  Client status is  Connected to server  Use the down navigation arrow to  highlight the Send box  Type a message in the Send box  then choose the Send soft  key  For example  type Hello datagram server     3  On the emulator running the Datagram Server  the Status displays  Message  received   Hello datagram server  You can use the down arrow to move  to the Send box and type a reply to the client     4  In the Datagram Client  the status field displays the message received from the  server  The Send box contains the last message you sent     Running PhotoAlbum    The PhotoAlbum 
213. use 3D graphics  both immediate mode and  retained mode    Demos MIDP 2 0 Includes various examples  animation  color  Running the Demos  networking  finance  and others  Sample Project   FPDemo CLDC 1 1 Simple floating point calculator  Running FPDemo   Games MIDP 2 0 Includes TilePuzzle  WormGame  and Running Games   PushPuzzle    I18nDemo JSR 238 Includes string sorting  number formatting  Running il8nDemo  and a phrase translator    JBricks JSR 229 A game that uses the Payment API for Running JBricks  buying extra lives or levels    JSR172Demo JSR 172 Demonstrates how to use the JSR 172 API to Running JSR172Demo  connect to a web service from a MIDlet    LWUITDemo N A Demonstrates LWUIT features  http   lwuit dev jav   a net    MMAPIDemos MMAPI Demonstrates MMAPI features  including Running the MMAPI  tone sequences  MIDI playback  sampled Sample Project  audio playback  and video    Multimedia MMAPI Demonstrates different video playback Running the Multimedia  formats  Sample Project   NetworkDemo MIDP 2 0 Demonstrates how to use datagrams and Running Network Demo  serial connections    PDAPDemo JSR 75 Demonstrates how to manipulate contacts    Running PDAPDemo    calendar items  and to do items   Demonstrates accessing local files     22 Java ME Platform SDK Help   April 2009             TABLE 3 1 MIDP CLDC Sample Projects  Continued    Sample Optional Package Description Instructions   PhotoAlbum MIDP 2 0 Demonstrates a variety of image formats  Running PhotoAlbum   SA
214. uses the device manager to detect  devices and displays the available devices in the Device Selector window  See  Running the Device Manager     The Java ME Platform SDK provides default devices with Sun skins  A skin is a thin  layer on top of the emulator implementation that defines the appearance  screen  characteristics  and input controls     If the Device Selector window is not visible  select Window  gt  Device Selector     See also   m Viewing Device Properties  m Setting Device Properties    m Running a Project from the Device Selector       Understanding the Emulator    When the Java ME Platform SDK is launched the Device Manager is  automatically launched to detect devices  The Device Manager is a service and you  can see it running in your Windows system tray  In the task manager  the process is  labeled device manager exe     The Device Manager icon looks like this     You can right click on the icon to exit the service     65       See also  Platform Properties  Device Information  Device Properties  Running the  Emulator From the Command Line  and Running the Device Manager       66    Viewing Device Properties    The Device Selector window lists all available devices grouped by platform  If this  window is not visible  select Windows  gt  Device Selector     If no Java ME platform is registered in the toolbar  the Device Selector displays a  node labeled No Device Found  If you see this message at startup  it typically means  device discovery is incomplete and
215. vadoc files  click the browse  button and choose the files you want to add     Click Finish to register the emulator platform        Support for Third Party Emulators and  Real Devices    Having an emulator does not eliminate the need to test your application on actual  target devices  An emulator can only approximate a device   s user interface   functionality  and performance  For example  an emulator may not accurately  simulate processing speed  so an application may run faster or slower on a target  device than it does on an emulator     Chapter 2 Java ME Platform SDK Features 13    Java ME SDK simplifies deployment to and debugging on real devices running the  Sun Java runtime  This version supports Windows Mobile platform based devices   and includes a bundled Java runtime for Windows Mobile devices     The Microsoft Device Emulator is an example of third party emulator integration  It  means you can deploy applications to Microsoft Device Emulator as easily as you  can run on our built in emulators  See the following topics  CLDC Emulator  Installation for a Device Running Windows Mobile and CLDC Installation for  Windows Mobile        14    Automatic Update    The Java ME SDK supports automatic updating of individual plugins  The same  mechanism can be used to update the entire SDK     If you have an active Internet connection  the Plugins Manager checks to see  whether new plugins or new versions of existing plugins are available  When  updates are found you see a n
216. vent that permission cannot be granted     For more information  see  Security for MIDP Applications  in the MIDP 2 0   JSR 118  specification  available at   http     developers sun com techtopics   mobility  midp  articles pushreg         Building a Project    When you build a project  the SDK compiles the source files and generates the  packaged build output  a JAR file  for your project  You can build the main project  and all of its required projects  or build any project individually     In general you do not need to build the project or compile individual classes to run  the project  By default  the SDK automatically compiles classes when you save them   You can use properties to modify the following build tasks     m Compiling   m Adding Libraries and Resources   m Obfuscating   m Creating JAR and JAD Files  Packaging     Chapter 5 Viewing and Editing Project Properties 57    58    m Signing    Configuring Ant    To view this form  select Tools  gt  Options  select Miscellaneous  and click the Ant tab     Ant Home  The installation directory of the Ant executable the SDK uses  To change  Ant versions  type the full path to a new Ant installation directory in this field or  click Browse to find the location  You can only switch between versions 1 5 3 and  higher of Ant     The Ant installation directory must contain a 1ib  subdirectory which contains the  ant   jar binary  For example  for the standard Ant 1 7 1 release  the Ant installation  directory is ant  lib apac
217. vides a high level of security for applications  whose origins and authenticity cannot be determined  The user is prompted  frequently when the application attempts a sensitive operation     identified third party  Intended for MIDlets whose origins were determined  using cryptographic certificates  Permissions are not granted automatically  but the  user is prompted less often than for the unidentified third party domain     manufacturer  Intended for MIDlet suites whose credentials originate from the  manufacturer s root certificate     minimum  All permissions are denied to MIDlets in this domain     maximum  All permissions are granted to MIDlets in this domain  Maximum is the  default setting     The SDK includes four JTWI security domains     untrusted   Provides a high level of security for applications whose origins and  authenticity cannot be determined  The user is prompted frequently when the  application attempts a sensitive operation     trusted   All permissions are granted to MIDlets in this domain   minimum   All permissions are denied to MIDlets in this domain     maximum   All permissions are granted to MIDlets in this domain  equivalent to  trusted   Maximum is the default value     Java ME Platform SDK Help   April 2009       Setting Security Domains    In the SDK  when you use Run via OTA your packaged MIDlet suite is installed  directly into the emulator where it is placed in a security domain  The emulator uses  public key cryptography to determine the 
218. yment console enables you to easily track payments  made or attempted by an application     Because the Payment API is closely tied to provisioning and external device  payment mechanisms  and because payments can only succeed in a trusted  protection domain  always test and debug your Payment API applications using the  Run via OTA feature     m Running the Payment Console    m Running JBricks       Running the Payment Console    The Payment Console is a simple monitoring tool that displays payment related  transactions sent from a mobile application using the Payment API  JSR 229   The  payment console monitors Payment Update File requests and Premium Priced SMS  payments     The Payment Console is implemented as an Http server running within the Device  Manager process  The root for the Http server is installdir  apps     233    Note     The Device Manager must be running before you launch the Payment  Console        To launch the Payment Console  select Tools  gt  Payment Console     To close the Payment Console  right click anywhere in the console and choose Close        Running JBricks    JBricks is a game that demonstrates the use of the JSR 229 Payment API  The game  itself resembles Breakout or Arkanoid  In JBricks  you can buy another life or a new  game level  Behind the scenes  the Payment API handles the details     To see how JBricks uses the Payment API  choose either Buy Life or Buy Level  from the game   s main menu  Next  choose whether you want to buy a sin
219. ypes of content     In the Java ME Platform SDK Content Handlers are integrated in a project as  application descriptors  Content Handlers you define are packaged with the  application     See Using Content Handlers and Running the CHAPIDemo Content Browser        Using Content Handlers    Follow these steps to work with content handlers     1  In the Projects window  right click a project name and choose Properties from the  context menu     2  In the Category pane  select Application Descriptor  and click the Content  Handler tab     3  In the Content Handlers table  each line in the list represents the settings for a  content handler     As shown below  two content handlers have been configured  one for TextViewer  and one for ImageViewer     221          Content Handlers             Key Class ID Types Suffixes  1 lexample text  TextViewer example text  Te    text plain    Ext     text    2 lexample image ImageViewer example  image I    image png  image gif   png     gif ak                      Move Up          m To create a new content handler  press Add  or to edit an existing content  handler  press Edit  Both actions open the Content Handler Properties window   See Defining Content Handler Properties     m To adjust the order of the content handlers  select one and using the Move Up  and Move Down buttons  To remove a content handler from the list  select it  and press Remove     See also Defining Content Handler Properties  Defining Content Handler Actions   and Runni
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Vêtements Propres pour ma commune  Satellite Pro A120    VTech SP1733 User's Manual  Rosewill RK-8100    取扱説明書  Archivage Tribunal d`instance Conseil de prud`hommes Instruction  User Guide      Copyright © All rights reserved. 
   Failed to retrieve file