-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
1/51
Java ME on Symbian
Daniel RochaNokia
Roy Ben HayunSymbian Press author
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
2/51
> Foreword by James O. Coplien> Four different sections> Checkout podcast #77
http://community.
java.net/mobileandembedded/
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
3/51
3
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
4/51
4
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
5/51
A short history: 10 years++
1998
2008
Copyright 2009 Symbian Foundation. Public
Symbian Ltdwas founded byEricsson,Motorola, Nokia,and Psion,to createSymbian OS
2009
Nokia acquires Symbian LtdThe Symbian Foundationis announced by the initialboard members.2006
100 millionphones shipped
250 million phones shipped200 millionphones shipped
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
6/51
Truly Independent, Truly Open
6 Copyright 2009 Symbian
Foundation.
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
7/51
> Open Source> Open Tools and SDKs> Open Development Process> Open Roadmap> Open Membership> (Almost) Open Website! - developer.symbian.org
Open In More Ways Than One!
Copyright 2009 Symbian
Foundation.7
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
8/51
> Ten years of roadmap development Ever increasing completeness, predictability, compatibility, quality
> 250+ million devices 40+ million in Japan alone
> 250+ device models: numerous form factors> 250+ operators worldwide
Operator Review Board, complements TechCom> Tens of thousands of applications> 4 million developers
Native Symbian C++ Open Environment (POSIX-compliant) Web Run Time, Python, Ruby Java ME, Flash Lite, C# .NET, MS Silverlight
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
9/51
Please welcomethe Symbian platform!
40 million lines of code (device/tools/test/PC)450,000 source code files
45,000 directories of source code files2000 software components
100+ packages3 layers covering 14 technology domains
1 unified mobile operating system
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
10/51
10
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
11/51
11
Be calm Its Java ME!> MIDlet.. LCDUI.. GCF.. and all that Jazz..
> You can use MSA Component JSRs
> You can use WTK, Java ME SDK 3.0
> The familiar Java community and ecosystem
> Only it comes with the power of Symbian platform
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
12/51
12
MSA support on Symbian platform> Evolutionary approach
> Highly consistent implementation on many devices
> JSRs are tightly integrated with native services
> Including many optional MSA features
> Lets have a quick look at a Symbian device?
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
13/51
13
Taking a first on-device tour
> Deploy, install and run
> Supported MSA Component JSRs
> Task manager
> Application manager
> Security settings
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
14/51
N95 on-device tour
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
15/51
No fixed limits to computing resources
> No fixed limit to JAR size
> Expanding and shrinking Java heap
> Number of threads, connections, files, RMS size etc..
> Java ME applications are first class citizen
> Allows developers to focus on the main tasks
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
16/51
16
Aim high its a smartphone!> Plan for high standards of UX
> Use the powerful multimedia capabilities
> Consider diversity of Symbian devices
> Consider synergy and interoperability
> Explore technical opportunities on Symbian devices
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
17/51
17
Multitasking
> Symbian platform is a fully multitasking OS
> Java applications are first class citizens
> S60 JAD attributes for multitasking
> Users switch with Task ManagerDisplay.getDisplay(this).setCurrent(null);
this.resumeRequest();Display.getDisplay(this).setCurrent(form);
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
18/51
Demo:Self-switching foreground & background
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
19/51
19
Symbians JAD attributes (1/3)
> Graphics and UI attributes> Nokia-MIDlet-Target-Display-Size> Nokia-MIDlet-Original-Display-Size>
Nokia-MIDlet-Canvas-Scaling-Orientation-Switch
> Nokia-Scalable-Icon> Nokia-UI-Enhancement> Nokia-Scalable-Icon> Nokia-UI-Enhancement
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
20/51
20
Symbians JAD attributes (2/3)
> Multitasking> Nokia-MIDlet-No-Exit> Nokia-MIDlet-Flip-Close>
Nokia-MIDlet-Background-Event
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
21/51
21
Symbians JAD attributes (3/3)
> For touch devices> Nokia-MIDlet-On-Screen-Keypad> Nokia-MIDlet-App-Orientation
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
22/51
Scaling: full screen, orientation switch,
no keypad> Attribute values:
Nokia-MIDlet-Canvas-Scaling-Orientation-Switch: true Nokia-MIDlet-Original-Display-Size: 240,320 Nokia-MIDlet-On-Screen-Keypad: no
> The image is changed, when sizeChanged() method is called> From 640x360 to 360x640, or vice versa, sizeChanged()
is called and orientation is changed
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
23/51
23
eSWT
> eSWT is the embedded Standard Widget Toolkit> Subset of desktop SWT API + Mobile Extensions> eSWT API specification: Eclipse eRCP web page.
> Widget gallery ->http://www.eclipse.org/ercp/eswt/gallery/gallery.php
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
24/51
24
IAP Info
> IAP Info API is a Java API, withwhich MIDlets can access internetaccess point group related information,including:
> Internet access point (IAP) relatedinformation (ID, type, name)
> Internet access point group (Destinationnetwork) related information (ID, name,IAPs contained)
> List of preferred Access Points
> Last used Access Point(for TCP socket connections)
> Connector.open("http://www.nokia.com;nokia_apnid=2")
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
25/51
Improved security prompting
> Many improvements made after S60 3rd. FP2> Easier for the user to grant/deny permissions> Combined with checkPermission(), gives ideal
MIDlet usability when it comes to permissions.
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
26/51
26
Java Runtime for S60
> Independent from S60 releases> Brings news features in a faster way> Selected S60 3rd Edition, Feature Pack 2 and S60
5th Edition devices> Allows users to update their Java Runtime to
support new features e.g. JSR 256 MobileSensor
> Inclusion in Symbian Foundation SDK TBD> NokiaN5800d-1/20.0.012/sw_platform=S60;sw_platform_version=5.0;java_build_version=1.3.4
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
27/51
Mobile Sensor JSR 256
> Added with Java Runtime 1.4> Provides access to device sensors, like:> Accelerometer- Used to measure acceleration of
the device on three different axes (x, y and z).> Battery charge level sensor> Charger state sensor> Network field intensity sensor Used to measure
the intensity of the currently used cellular networksignal.
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
28/51
28
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
29/51
29
Java ME SDKs for Symbian platform> WTK and Java ME SDK 3.0
> Nokia S60 3rd Edition SDK
> UIQ SDK
> SEMC SJP-3
> Motodev> Symbian^1 SDK WTK \ Java ME SDK 3.0
S60 UIQ
SEMC
UI Platform
OEM
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
30/51
30
Symbian platform MIDP SDKs
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
31/51
Emulation, vs Real emulationSymbian1 SDK emulator comes with full stackof Symbian platform!
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
32/51
Demo Symbian^1 SDK
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
33/51
Add the native tools to your toolbox
> Device features emulation e.g., SMS emulation, flip open/close etc..
> Native memory profiler> Native CPU profiler
> PC-Device connectivity
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
34/51
Demo Nokia Energy Profiler
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
35/51
Redirector API
//executing in a separate MIDlet, running in the backgroundclass MyRedirector extends Thread {
public void run() { ...
ic = (InputConnection)Connector.open("redirect://", );in = ic.openInputStream();...
len = inputStream.read(buffer);String s = new String(buffer, 0, len);
//show log \ send \ save to file.. etc.. appendLogMessage(s);}}
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
36/51
Demo Redirector API
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
37/51
On Device Debugging (under the hood)
IDE
SDK
launch
debug
SW Installer
SystemAMS
Debug Agent
VMKDP Agent
install
launch
start
start
JDWP KDWP
terminate
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
38/51
Demo On Device Debugging on N95
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
39/51
39
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
40/51
Ovi Store (1/4)
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
41/51
41
Ovi Store (2/4)
> Main route to market for most companies> Access to 60+ devices and 50 million users (at
launch)
> Available in 190+ countries> Automated publishing system> QA done by Nokia> 70/30 revenue sharing> Allows publishing Java, Symbian and Flash Liteapps, content, widgets, media for tens of devices
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
42/51
Ovi Store (3/4)
> Ovi Publisher guide:> Symbian apps -> need to be pre-tested and must
fulfill the Symbian Signed Certificationrequirements
> Java apps -> must be pre-tested and fulfill JavaVerified requirements.
> Java and Symbian unsigned apps are not allowedon Ovi Store.
> Lighter signing requirements: Thawte and VeriSign signing for Java are accepted Symbian Express signing is accepted
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
43/51
Ovi Store (4/4)
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
44/51
44
Symbian Signed> NOT relevant to MIDP applications!!!
> But just so youll know.. Symbian OS is built around the Platform Security
concept
Applications need to be granted capabilities toexecute sensitive operations on the device
Simpler applications do not need any advancedcapabilities, and do not need to be (Symbian)
signed Capability granting is done through signing
(Symbian Signed)
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
45/51
45
Agenda
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
46/51
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
47/51
47
Finding more information
> Java ME on Symbian OS at www.wiley.com
> developer.symbian.org
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
48/51
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
49/51
49
Summary
> Introduction to the Symbian platform> Enter Java ME on Symbian> Java ME development for Symbian devices> Routes to market> Finding more information
> Lots of demos.. books.. E71..
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
50/51
Questions?
-
8/14/2019 Java ME on Symbian JavaOne BoF Presentation RBH
51/51