Motorola E680 Technical Manual

Motorola E680 - Smartphone - GSM Manual

Motorola E680 manual content summary:

  • Motorola E680 | Technical Manual - Page 1
    Technical Manual IBU Motorola E680 Handset J2ME™ Developer Guide Version 1.5
  • Motorola E680 | Technical Manual - Page 2
    (J2ME 11 THE MOTOROLA J2ME PLATFORM ...12 RESOURCES AND API'S AVAILABLE...12 3 DEVELOPING AND PACKAGING J2ME APPLICATIONS 14 GUIDE TO DEVELOPMENT IN J2ME...14 4 DOWNLOADING APPLICATIONS...16 METHOD OF DOWNLOADING...16 ERROR LOGS...18 5 APPLICATION MANAGEMENT...20 DOWNLOADING A JAR FILE WITHOUT
  • Motorola E680 | Technical Manual - Page 3
    API...38 11 JAVA.LANG IMPLEMENTATION...40 JAVA.LANG SUPPORT ...40 12 NETWORK APIS ...41 NETWORK CONNECTIONS...41 USER PERMISSION ...43 INDICATING A CONNECTION TO THE USER 43 HTTPS CONNECTION ...44 13 JSR 135 MOBILE MEDIA API...46 JSR 135 MOBILE MEDIA API...46 TONECONTROL ...48 VIDEO CONTROL ...48
  • Motorola E680 | Technical Manual - Page 4
    SPECIFIC CONTENT FOR JTWI 89 MOBILE MEDIA API 1.1 (JSR 135) SPECIFIC CONTENT FOR JTWI 90 MIDP 2.0 SECURITY SPECIFIC CONTENT FOR JTWI 90 21 MIDP 2.0 SECURITY MODEL...91 UNTRUSTED MIDLET SUITES...92 UNTRUSTED DOMAIN ...92 TRUSTED MIDLET SUITES ...93 PERMISSION TYPES CONCERNING THE HANDSET 93 USER
  • Motorola E680 | Technical Manual - Page 5
    Table of Contents AVAILABLE MEMORY ...102 MEMORY CALCULATION FOR MIDLETS ...102 APPENDIX D: FAQ ...103 ONLINE FAQ...103 APPENDIX E: HTTP RANGE ...104 GRAPHIC DESCRIPTION...104 APPENDIX F: SPEC SHEET ...105 E680 SPEC SHEET ...105 5
  • Motorola E680 | Technical Manual - Page 6
    This document is intended for premium J2ME developers and specific carriers involved with the development of J2ME applications for the E680 handset. Disclaimer Motorola reserves the right to make changes without notice to any products or services described herein. "Typical" parameters, which may be
  • Motorola E680 | Technical Manual - Page 7
    you specific legal rights, and you may also have other rights, which vary from jurisdiction to jurisdiction. Motorola products or services are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support
  • Motorola E680 | Technical Manual - Page 8
    Name Motorola Motorola Motorola Motorola Motorola Motorola Reason Initial Draft Revised Draft Revised Draft Updated TOC JSR 184 added Updated per SW Definitions, Abbreviations, Acronyms Acronym AMS API CLDC GPS IDE ITU JAD JAL JAR J2ME JSR 120 JVM Description Application Management Software
  • Motorola E680 | Technical Manual - Page 9
    /de-installation, and updating process for a MIDlet suite. Chapter 6 -- Multiple Applications: this chapter describes all multiple applications. Chapter 7- JAD Attributes: this chapter describes what attributes are supported. Chapter 8 - Gaming API/Multiple Key Press: this chapter describes the
  • Motorola E680 | Technical Manual - Page 10
    13 - JSR 135 Mobile Media: this chapter describes image types and supported formats. Chapter 14 - the Motorola E680 handset, including the key name, key code, and game action of all Motorola keys Range. Appendix E - Spec Sheet: this appendix provides the spec sheet for the Motorola E680 handset. 10
  • Motorola E680 | Technical Manual - Page 11
    from business applications to games. Prior to its inclusion, services or applications residing on small consumer devices like cell phones could not be upgraded or added to without significant effort. By implementing the J2ME platform on devices like the Motorola E680 handset, service providers, as
  • Motorola E680 | Technical Manual - Page 12
    These OEM APIs are described in this guide. Resources and API's Available MIDP 2.0 will provide support to the following functional areas on the Motorola E680 handset: MIDP 2.0 • Application delivery and billing • Application lifecycle • Application signing model and privileged security model • End
  • Motorola E680 | Technical Manual - Page 13
    2 J2ME Introduction Additional Functionality • WMA (JSR 120) • MMA (JSR 135) • M3D (JSR 184) • Fun Lights API • Phonebook API • File System API • Telephony API 13
  • Motorola E680 | Technical Manual - Page 14
    Applications Guide subject on websites maintained by Motorola, Sun Microsystems and others. Please Mobile Information Device Profile (MIDP). Both of these specifications (Java Specification Requests) can be located at the http://www.jcp.org/ site for reading. ƒ For MIDP 1.0; JSR 37 should be reviewed
  • Motorola E680 | Technical Manual - Page 15
    handset. This will enable debugging and validation of the MIDlet before deployment to a real, physical handset. The latest Motorola SDK can be downloaded from the MOTOCODER website. Please refer to the product specifications at the back of this guide for detailed information on each handset. 15
  • Motorola E680 | Technical Manual - Page 16
    showing the flow through HTTP range transfer, although recall use of the .JAD is optional. ƒ SAR (Segmentation & Reassembly) - see specification of wireless transaction protocol at the http://www.wapforum.org if less than 100k in size. During a download of the application, the user will see the MIB
  • Motorola E680 | Technical Manual - Page 17
    4 Downloading Applications The following error codes are supported: ƒ 900 Success ƒ 901 Insufficient Memory ƒ 902 User Cancelled ƒ 903 Loss Of Service ƒ 904 JAR Size Mismatch ƒ 905 Attribute Mismatch ƒ 906 Invalid Descriptor ƒ 907 Invalid JAR ƒ 908 Incompatible Configuration or Profile ƒ 909
  • Motorola E680 | Technical Manual - Page 18
    components: 1. WAP Browser Release, Motorola Internet Browser (MIB) 2.2 2. MIDP version 2.0 3. CLDC version 1.1 4. The Phone Software Version is detailed by xx.xx.xx Error Logs The following table represents the error logs associated with downloading applications. Error Logs Scenario Possible
  • Motorola E680 | Technical Manual - Page 19
    MIDlet Execution MIDlet version on handset supercedes version being downloaded Attributes are not identical to respective JAD attributes Insufficient Program Space or Data Space to install suite 901 Memory Full. Cannot install application. Class references non-existent class or method Security
  • Motorola E680 | Technical Manual - Page 20
    Motorola E680 handset. This chapter will discuss the following: • Downloading a JAR without a JAD • MIDlet upgrade • Installation and Deletion Status Reports Downloading a JAR file without a JAD In Motorola's MIDP 2.0 implementation, a JAR file can be downloaded without a JAD. In this case, the user
  • Motorola E680 | Technical Manual - Page 21
    will be prompted to confirm the entire MIDlet suite will be removed Application Descriptor included the attribute MIDlet-Delete-Confirm, its value will be included in the prompt Prompt for user approval when the user has chosen to download an application that is identical to, or an older version
  • Motorola E680 | Technical Manual - Page 22
    6 Multiple Applications Multiple Applications Since the Motorola E680 is a Linux based device, multiple tasks are allowed to run at the same time. If the focus is out, the MIDlet method pauseApp () will be
  • Motorola E680 | Technical Manual - Page 23
    the application management software on the handset to verify the MIDlet is suited to the handset before loading the JAR file • Allows configuration-specific attributes (parameters) to be supplied to the MIDlet(s) without modifying the JAR file. Motorola has implemented the following support for
  • Motorola E680 | Technical Manual - Page 24
    The URL to which a POST request is Yes sent to report deletion of the MIDlet suite. A text message to be provided to the Yes user when prompted to confirm deletion of the MIDlet suite. MIDlets with this Motorola specific No attribute will continue to run when not Yes No Yes, or no if included
  • Motorola E680 | Technical Manual - Page 25
    7 JAD Attributes in focus. 25
  • Motorola E680 | Technical Manual - Page 26
    application size. The Gaming API is structured to provide freedom in implementation, extensively using native code, hardware acceleration, and device-specific keys will support multi-button press support on the Motorola E680 handset. Multi-button press within each set will be supported, while multi
  • Motorola E680 | Technical Manual - Page 27
    , methods, and inherited methods for the LayerManager class in javax.microedition.lcdui.game.Layer Supported All fields, constructors, methods, and inherited methods for the Sprite Supported Class in javax.microedition.lcdui.game Sprite Frame height will not be allowed to exceed the height of the
  • Motorola E680 | Technical Manual - Page 28
    28
  • Motorola E680 | Technical Manual - Page 29
    of 3D content. Typical applications that might make use of JSR 184 Mobile 3D API include games, map visualizations, user interface, animated messages, and screen savers. JSR 184 requires a J2ME device supporting MIDP 2.0 and CLDC 1.1 at a minimum. Mobile 3D API The Motorola E680 contains full
  • Motorola E680 | Technical Manual - Page 30
    Mobile 3D API File Format Support The Motorola E680 supports both M3G and PNG file formats for loading 3D content. The E680 supports the standard .m3g and .png extensions for its file formats. Mime type and not extension will be used for identifying file type. In the case that the Mime type is not
  • Motorola E680 | Technical Manual - Page 31
    using the M3G API. Alternatively all objects can be created from code, although this is likely to be slower and limits creativity for designers. Simple MIDlets The simplest application consists of an M3G file that is loaded into the application using the M3G Loader class, which is then passed to
  • Motorola E680 | Technical Manual - Page 32
    The World object contains the objects that define a complete 3D scene - geometry, textures, lights, cameras, and animations. The World object mediates access to the objects within the world. It can be passed as a block to the renderer, the Graphics3D class. The Loader object, populates a World by
  • Motorola E680 | Technical Manual - Page 33
    there is only one root node in the scene, which will be the world object. If the M3G file has multiple root nodes the code must be changed to reflect this, but generally most M3G files have a single root node. public void startApp() throws MIDletStateChangeException { myDisplay.setCurrent(myCanvas
  • Motorola E680 | Technical Manual - Page 34
    1")); // Assume the world is the first root node loaded. myWorld = (World) roots[0]; } catch(Exception e) { e.printStackTrace(); } // Force a repaint so the update loop is started. myCanvas.repaint(); } Using the Graphics3D object Using the Graphics3D is very straightforward. Get the Graphics3D
  • Motorola E680 | Technical Manual - Page 35
    () returns a reference to the object which has been assigned that ID in the authoring tool (or manually assigned from code). This is important because it largely makes the application logic independent of the detailed structure of the scene. final int PERSON_OBJECT_ID = 339929883; Node personNode
  • Motorola E680 | Technical Manual - Page 36
    that can be triggered from code. Many object properties are animatable battery life and are more friendly to background processes. The animation subsystem has no memory, so time is completely arbitrary. This means that there are no events reported (for example, animation finished). The application
  • Motorola E680 | Technical Manual - Page 37
    9 JSR 184 Authoring M3G files You can create all your M3G content from code if necessary but this is likely to be very time consuming and does not allow 3D artists and scene designers to easily create and rework
  • Motorola E680 | Technical Manual - Page 38
    game application, the vibrator is turned on during a crash. 2. An alarm application would have access to turn the vibrator on and off. 3. A stock ticker application turns the backlight on and off when a specified stock hits a target price. Native constraints are in place to protect the battery
  • Motorola E680 | Technical Manual - Page 39
    10 Vibe and Backlight API Sample of code for calling of 'flashBacklight(int)' method of Display class: int duration = 30000;// 30 seconds; java.lang.boolean returnValue = display.flashBacklight(duration); if (returnValue != false) { System.
  • Motorola E680 | Technical Manual - Page 40
    11 Java.lang Implementation java.lang support Motorola implementation for the java.lang.System.getProperty method will support additional system properties beyond what is outlined in the JSR 118 specification and is controlled by a flex bit. These additional system properties can only be accessed by
  • Motorola E680 | Technical Manual - Page 41
    12 Network APIs 12 Network APIs Network Connections The Motorola implementation of Networking APIs will support several network connections. The network connections necessary for Motorola implementation are the following: • CommConnection for serial interface • HTTP connection • HTTPS connection •
  • Motorola E680 | Technical Manual - Page 42
    Interface in the javax.microedition.io.package Supported ServerSocketConnection interface in the javax.microedition.io.package Supported UDPDatagramConnection interface in the javax.microedition.io.package Supported The following is a code sample to show implementation of Socket Connection
  • Motorola E680 | Technical Manual - Page 43
    ex.getMessage()); } finally { closeAllStreams(i); //clean up } } User Permission The user of the handset will explicitly grant permission to add additional network connections. the additional network connections, it will indicate to the user that the handset is actively interacting with the network.
  • Motorola E680 | Technical Manual - Page 44
    on the Motorola E680 handset. Additional protocols that will be supported are the following: • TLS protocol version 1.0 as defined in http://www.ietf.org/rfc/rfc2246.txt • SSL protocol version 3.0 as defined in http://home.netscape.com/eng/ssl3/draft302.txt The following is a code sample to
  • Motorola E680 | Technical Manual - Page 45
    [i] += bytes_read; } while (bytes_read > 0); System.out.println("byte read = " + byteCounts[i]); } catch (Exception ex) { System.out.println("Downloading Failed: "+ ex.getMessage()); numPassed = 0; } finally { try { is[i].close(); is[i] = null; } catch (Exception ex close http connection
  • Motorola E680 | Technical Manual - Page 46
    type, it will follow the guidelines and control types listed in the sections outlined below. The following is a code sample to show implementation of the JSR 135 Mobile Media API: JSR 135 Player player; // Create a media player, associate it with a stream containing media data try { player
  • Motorola E680 | Technical Manual - Page 47
    13 JSR 135 Mobile Media API { player.realize(); } catch (MediaException e) { System.out.println("FAILED: exception for realize: " + e.toString()); } // Acquire exclusive resources, fill buffers with media data try { player.prefetch(); }
  • Motorola E680 | Technical Manual - Page 48
    for manipulating the video of a Player. The JSR 135 Mobile Media API will implement public interface VideoControl. An application can use the VideoControl to display a viewfinder on the screen, then take a picture using VideoControl.getSnapshot (String imageType). VideoControl controls the display
  • Motorola E680 | Technical Manual - Page 49
    allows a specific preset sleep timer for a player. The JSR 135 Mobile Media API specific mechanism for constructing Players. For convenience, Manager also provides a simplified method to generate simple tones. Primarily, the Multimedia API will provide a way to check available/supported
  • Motorola E680 | Technical Manual - Page 50
    amr Audio/mpeg Audio/midi Audio/sp-midi Audio/x-tone-sequence Video/mp4 Video/3gpp Refer to the table below for multimedia feature/class support for JSR 135: Feature/Class Media package found Media control package Media Protocol package Control interface in javax.microedition.media All methods for
  • Motorola E680 | Technical Manual - Page 51
    135 Mobile Media API All fields and methods for the PlayerListener interface in javax.microedition.media PlayerListener OEM event types for the PlayerListener interface All fields, methods, and inherited methods for the Manager Class in javax.microedition.media TONE_DEVICE_LOCATOR support in the
  • Motorola E680 | Technical Manual - Page 52
    is the ability of two J2ME applications using SMS to communicate game moves running on the handsets. This can take the form of chess moves being passed between two players via the WMA. Motorola in this implementation of the specification supports the following features. ƒ Creating a SMS ƒ Sending
  • Motorola E680 | Technical Manual - Page 53
    in the address, the TP-User-Data of the SMS will contain a User-Data-Header with the application port addressing scheme information element. , 49996, 49999. If you intend to use SMSC numbers then please review A.3.0 in the JSR 120 specification. The use of an SMSC would be used if the MIDlet had to
  • Motorola E680 | Technical Manual - Page 54
    4 SMS Data Coding Scheme). Refer to application via the API. The implementation will support at least three SMS messages to be received and concatenated together. Also, for sending, support for a minimum of three messages is supported. Motorola incoming message, then the user will be queried to launch
  • Motorola E680 | Technical Manual - Page 55
    Feature/Class Implementation JSR-120 API. Specifically, APIs defined in the Supported javax.wireless.messaging package will be implemented with regards to the GSM SMS Adaptor All fields, methods, and inherited methods for the Connector Class in Supported the javax.microedition.io package All
  • Motorola E680 | Technical Manual - Page 56
    public byte[] createBinary(int size) { int nextByte = 0; byte[] newBin = new byte[size]; for (int i = 0; i < size; i++) { nextByte = (rand.nextInt()); newBin[i] = (byte)nextByte; if ((size > 4) && (i == size / 2)) { newBin[i-1] = 0x1b; newBin[i] = 0x7f; } } return newBin; } byte[] newBin =
  • Motorola E680 | Technical Manual - Page 57
    14 JSR 120 - Wireless Messaging API Getting of payload data of received binary message: BinaryMessage binMsg; byte[] payloadData = binMsg.getPayloadData(); Setting of address with port number: message.setAddress("sms://+18473297274:9532"); Setting of address without port number: message.setAddress("
  • Motorola E680 | Technical Manual - Page 58
    byte[] newBin = new byte[size]; for (int i = 0; i < size; i++) { nextByte = (rand.nextInt()); newBin[i] = (byte)nextByte; if ((size > 4) && (i == size / 2)) { newBin[i-1] = 0x1b; newBin[i] = 0x7f; } } return newBin; } byte[] newBin = createBinary(msgLength); binMsg.setPayloadData(newBin); int num =
  • Motorola E680 | Technical Manual - Page 59
    14 JSR 120 - Wireless Messaging API Runnable { private int messages = 0; public void notifyIncomingMessage(MessageConnection connection) { System.out.println("Notification about incoming message arrived"); messages++; } public void run() { try { messageConnection.setMessageListener(listener); }
  • Motorola E680 | Technical Manual - Page 60
    and other applications using Phonebook API. The primary goal of the Phonebook Access API is to be simple and thin to fit in resourcelimited devices like the Motorola E680 handset. This API will specify a base storage class for all types of contacts items presented in the vCard specification (RFC2426
  • Motorola E680 | Technical Manual - Page 61
    API In the Motorola E680, Phonebook API permissions have been added to the MIDP 2.0 security framework "com.motorola.phonebook." The behavior is up to the domain setting where the MIDlet falls in. For an untrusted MIDlet, the permission for the API is "Oneshot". The following are code samples to
  • Motorola E680 | Technical Manual - Page 62
    int numberRecsInSim = PhoneBookRecord.getNumberRecords(PhoneBookRecord .SIM_MEMORY); int numberRecsAll = PhoneBookRecord.getNumberRecords(PhoneBookRecord.ALL_MEMORY) ; Sample of code for calling of 'getAvailableRecords(int device)' method: // get number of available records int numberRecsAvalPhone
  • Motorola E680 | Technical Manual - Page 63
    calling of 'getIndexBySpeedNo(int speedNo)' method: int speedNo = 1; index = PhoneBookRecord.getIndexBySpeedNo(speedNo); Sample of code for calling of 'getNewSpeedNo(int num, int device)' method: int speedNo = 1; int speedNo_phone = PhoneBookRecord.getNewSpeedNo(speedNo, PhoneBookRecord.PHONE_MEMORY
  • Motorola E680 | Technical Manual - Page 64
    :1\r\nEND:VCARD\r\n"); int num = PhoneBookRecord.fromVFormat((InputStream)(new ByteArrayInputStream(buffer.getBytes())), PhoneBookRecord.PHONE_MEMORY); Sample of code for calling of 'toVFormat(OutputStream out, int index, int outFormat, int sortOrder)' method: int index = 1; ByteArrayOutputStream
  • Motorola E680 | Technical Manual - Page 65
    System Access API for the Motorola E680 handset is intended to allow J2ME applications access to files that are stored on the handsets. Internal file systems can be accessed via the File System Access API. Please note that the maximum file name length supported by Motorola is 36 characters. File
  • Motorola E680 | Technical Manual - Page 66
    is restricted in order to protect the user's files and data from malicious and unintentional access. A file connection will not be able to access RMS databases, files that are private to another application, system configuration files, and device and OS specific files. Please note that only signed
  • Motorola E680 | Technical Manual - Page 67
    16 File System Access API Sample for FileConnection Interface import javax.microedition.io.*; import com.motorola.io.*; /* * Get a root of file system */ java.lang.String root = FileSystemRegistry.listRoots()[0]; /* * Create a FileConnection object pointing to root directory */ FileConnection fc =
  • Motorola E680 | Technical Manual - Page 68
    ... } if (fc.isDirectory()) { // first item is directory } else { //first item is file } /* * Create a FileConnection object pointing to file */ FileConnection fc = null; try { fc = (FileConnection) Connector.open("file://"+root+"testfile.txt"); } catch (IOException ioe) { ... } /* * If file does
  • Motorola E680 | Technical Manual - Page 69
    16 File System Access API ... } /* * Get file size */ try { long fileSize = fc.fileSize(); } catch (IOException ioe) { ... } /* * Set file's attributes */ try { boolean isSetToWrite = fc.setWriteable(true); } catch (IOException ioe) { ... } try { boolean isSetToRead = fc.setReadable(true); } catch (
  • Motorola E680 | Technical Manual - Page 70
    */ boolean isRenamed = fc.rename("file://"+root+"newfile.txt"); /* * Get path and URL of file */ java.lang.String filePath = fc.getPath(); java.lang.String fileURL = fc.getURL(); /* * Get time of last modification */ long lastModifiedTime = fc.lastModified(); /* * Delete file */ boolean isDeleted =
  • Motorola E680 | Technical Manual - Page 71
    16 File System Access API /* * remove listener */ FileSystemRegistry.removeFileSystemListener(listener); /* Implementation of FileSystemListener interface * * Method rootAdded(FileSystemEvent e) is invoked when a root is added to the filesystem * Method rootRemoved(FileSystemEvent e) is invoked when
  • Motorola E680 | Technical Manual - Page 72
    The dialer Class can be used to start and end a phone call and user listener to receive an event. The applications use a Dialer to make a phone call and use DialerListener to receive event. Class DialerEvent The DialerEvent class defines phone call events. The table below describes the Field Summary
  • Motorola E680 | Technical Manual - Page 73
    call error event PHONE_VOICECALL_HOLD Current java phone call was held by native phone event PHONE_VOICECALL_INIT Phone start dial-up event PHONE_VOICECALL_TIMEOUT Phone process timeout event PHONE_VOICECALL_UNHOLD Current java phone call was unheld event The table below describes the Constructor
  • Motorola E680 | Technical Manual - Page 74
    Dialer class defines the basic functionality for starting and ending a phone call. The table below describes the Method Summary: Method Summary void endCall() end or cancel a phone call static Dialer getDefaultDialer() void void void void sendExtNo(String extNumber
  • Motorola E680 | Technical Manual - Page 75
    a Dialer instance. setDialerListener public void setDialerListener(DialerListener listener) Registers a DialerListener object. The platform will notify this listener object when a phone event has been received to this Dialer object. There can be at most one listener object registered for a Dialer
  • Motorola E680 | Technical Manual - Page 76
    void startCall(String teleNumber, String extNo) throws IOException start a phone call using given telephone number and extension number. Parameters: telenumber - if the parameter is null SecurityException - if the application does not have permission to start the call sendExtNo public
  • Motorola E680 | Technical Manual - Page 77
    DialerListener The DialerListener interface provides a mechanism for the application to be notified of phone call event. When an event arrives, the microedition.midlet.*; import javax.microedition.io.*; import com.motorola.*; public class Example extends MIDlet implements DialerListener {
  • Motorola E680 | Technical Manual - Page 78
    PHONE_VOICECALL_INIT: // your process break; case DialerEvent.PHONE_VOICECALL_FAILURE: // your process break; case DialerEvent.PHONE_VOICECALL_CONNECT: // your process break; case DialerEvent.PHONE_VOICECALL_DISCONNECT: // your process break; case DialerEvent.PHONE_VOICECALL_TIMEOUT: // your process
  • Motorola E680 | Technical Manual - Page 79
    the activity in the application's own thread. Parameters: dialer - the Dialer where the TAPI voice call event has arrived event - the TAPI voice call event type. Class Hierarchy • class java.lang.Object o class com.motorola.phone.Dialer o class com.motorola.phone.DialerEvent Interface Hierarchy
  • Motorola E680 | Technical Manual - Page 80
    the specific content file, a DRM application can decrypt the content for playback. DRM is almost invisible to the user, except for those cases where . For Java in E680, we support the downloading, installation, execution and de-installation of a DRM-protected Java application. Rights Enforcement -
  • Motorola E680 | Technical Manual - Page 81
    with the Java Language and Virtual Machine Specifications by reintroducing features such as floating point support and improved error handling capabilities. The following attributes will be supported for CLDC 1.1 compliance on the Motorola E680: • Floating point: • Weak reference • Classes Calander
  • Motorola E680 | Technical Manual - Page 82
    this thread Compares this String to another String, ignoring case considerations Returns a cnonical representation for the string object Returns the double argument New Class; Refer CLDC Specification 1.1 for more details New Class; Refer CLDC Specification 1.1 for more details The field values for
  • Motorola E680 | Technical Manual - Page 83
    the form: Dow mon dd hh:mm:ss zzz yyyy New Class; Refer to CLDC Specification 1.1 for more details New Class; Refer to CLDC Specification 1.1 for more details New Class; Refer to CLDC Specification 1.1 for more details Returns the next pseudorandom, uniformly distributed double value between 0.0 and
  • Motorola E680 | Technical Manual - Page 84
    Static double abs (double a) Returns the absolute calue of a double value Static double ceil (double a) Returns the smallest (closest to negative infinity) double value that is not less than the arguement and is equal to a mathematical integer Static double cos (double a) Returns the
  • Motorola E680 | Technical Manual - Page 85
    19 CLDC 1.1 Static double toradians (double angdeg) Converts an angle measured in degrees to the equivalent angle measured in radians 85
  • Motorola E680 | Technical Manual - Page 86
    20 JTWI JTWI specifies a set of services to develop highly portable, interoperable Java applications. JTWI reduces API fragmentation and broadens the number of applications for mobile phones. Overview Any Motorola device implementing JTWI will support the following minimum hardware requirements in
  • Motorola E680 | Technical Manual - Page 87
    Applications, CLDC 1.1 will be implemented. The following CLDC requirements will be supported: • Minimum Application thread count will allow a MIDlet suite (i.e UTF-16). • Character Properties will provide support for character properties and case conversions for the characters in the Basic Latin and
  • Motorola E680 | Technical Manual - Page 88
    for Image Objects - ISO/IEC JPEG together wil JFIF will be supported. The support for ISO/IEC JPEG only applies to baseline DCT, non-differential, Huffman coding, as defined in JSR 185 JTWI specification, symbol 'SOF0'. This support extends to the class javax.microedition.lcdui.Image, including the
  • Motorola E680 | Technical Manual - Page 89
    . The API provides access to network-specific short message services such as GSM SMS or CDMA short messaging. JTWI will support the following as it is outlined in the JSR 120 chapter of this developer guide: ƒ Support for SMS in GSM devices ƒ Cell Broadcast Service in GSM devices ƒ SMS Push 89
  • Motorola E680 | Technical Manual - Page 90
    will be supported. Tone sequences provide an additional simple format for supporting the audio needs of many types of games and other applications. MIDP 2.0 Security specific content for JTWI • The Motorola E680 follows the security policy outlined in the Security chapter of this developer guide. 90
  • Motorola E680 | Technical Manual - Page 91
    for the Motorola E680 handset. The chapter discusses the following topics: • Untrusted MIDlet suites and domains • Trusted MIDlet suites and the MIDlet-Jar-RSA-SHA1 attribute Implementation Supported Supported Supported Supported Supported Supported All methods for the Certificate interface in
  • Motorola E680 | Technical Manual - Page 92
    APIs • javax.microedition.lcdui.game - Gaming APIs • javax.microedition.media - Multimedia APIs for sound playback • javax.microedition.media.control - Multimedia APIs for sound playback The untrusted domain will allow, with explicit user confirmation, untrusted MIDlet suites access to the following
  • Motorola E680 | Technical Manual - Page 93
    E680, the following protection domains are supported: • Manufacturer • Untrusted - all MIDlet suites that are unsigned will belong to this domain. Permissions within the above domains will authorize access to the protected APIs or functions. These domains will consist of a set of "Allowed" and "User
  • Motorola E680 | Technical Manual - Page 94
    the supported domain, and their corresponding structure will be contained in the default security policy for Motorola's implementation suites. These root certificates will be mapped to a location on the handset that cannot be modified by the user. The following table shows the specific wording
  • Motorola E680 | Technical Manual - Page 95
    File System "Send SMS?" "Receive SMS?" "Use Phonebook?" "Make Phone Call?" "Use CBS?" "Receive CBS?" "Record?" "Video capture?" suite access to the defined protected APIs or functions. The MIDlet suite is protected by signing the JAR file. The signature and certificates are added to the application
  • Motorola E680 | Technical Manual - Page 96
    code signing can be obtained from the manufacturer, operator, or certificate authority. Only root certificates stored on the handset will be supported by the Motorola E680 handset. Signer of MIDlet Suites The signer of a MIDlet suite value will return from the application descriptor (JAD) if present.
  • Motorola E680 | Technical Manual - Page 97
    a MIDlet Suite When a MIDlet suite is downloaded, the handset will check the JAD attribute MIDlet-JarRSA-SHA1. If this attribute is present, the JAR will be authenticated by verifying the signer certificates and JAR signature as described. MIDlet suites with application descriptors that
  • Motorola E680 | Technical Manual - Page 98
    Verifying the Signer Certificate The signer certificate will be found in the application descriptor of the MIDlet suite. The process for verifying a Signer Certificate is outlined in the steps below: 1. Get the certification path for the signer certificate from the JAD attributes MIDletCertificate
  • Motorola E680 | Technical Manual - Page 99
    dialog prompts: Initial State Verification Result JAD not present, JAR downloaded Authentication can not be performed, will install JAR. MIDlet suite is treated as untrusted. The following error prompt will be shown, "Application installed, but may have limited functionality." JAD present but is
  • Motorola E680 | Technical Manual - Page 100
    Appendix A: Audio Mix Table Single Tone- Wav MP3 AMR MIDI Video Video tons Sequence w/audio w/o audio Single No No tone No No No Yes No Yes Tone- No No sequence No No No Yes No Yes WAV No No Partly No No Yes No Yes yes MP3 No No No No No Yes No Yes AMR
  • Motorola E680 | Technical Manual - Page 101
    Appendix B: Key Mapping Appendix B: Key Mapping Key Mapping for the E680 The following image identifies keys that will be assigned to game actions defined in GameCanvas class of MIDP 2.0. 101
  • Motorola E680 | Technical Manual - Page 102
    Appendix C: Memory Management Calculation Available Memory The available memory on the Motorola E680 handset is the following: • Shared memory for MIDlet storage and removable memory • 2048k Bytest Heap size • Recommended maximum MIDlet size is 1024k Memory Calculation for
  • Motorola E680 | Technical Manual - Page 103
    developer program is online and able to provide access to Frequently Asked Questions around enabling technologies on Motorola products. Access to dynamic content based on questions from the Motorola J2ME developer community is available at the URL listed below. http://www.motocoder.com 103
  • Motorola E680 | Technical Manual - Page 104
    Appendix E: HTTP Range Graphic Description The following is a graphic description of HTTP Range: 104
  • Motorola E680 | Technical Manual - Page 105
    Appendix F: Spec Sheet Appendix F: Spec Sheet E680 Spec Sheet Listed below is the spec sheetsfor the Motorola E680 handset. The spec sheet contains information regarding the following areas: • Technical Specifications • Key Features • J2ME Information • Motorola Developer Information • Tools •
  • Motorola E680 | Technical Manual - Page 106
    (2) • MP3 music/ringtone download and playback • MIDI music • Embedded, portable, and online Java Games • Customizable UI skins • 50 MB internal user memory for music and games • Removal memory for additional storage support • FM Radio Related Information Motorola Developer Information: Developer
  • Motorola E680 | Technical Manual - Page 107
    Appendix F: Spec Sheet 107 MOTOROLA and the Stylized M Logo are registered in the U.S. Patent & Trademark Office. All other product or service names are the property of their respective owners. Java and all other Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107

Technical Manual
IBU
Version 1.5
Motorola E680 Handset
J2ME™ Developer Guide