SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
INTRODUCTION TO
NOKIA ASHA
SOFTWARE
PLATFORM 1.0
Michael Samarin
Director,
Developer Training and Evangelism
Futurice
@MichaelSamarin
NOKIA ASHA SOFTWARE PLATFORM 1.0
• Java ME MIDP 2.1 CLDC 1.1
• Optional JSRs
• Nokia APIs
• Max JAR file size: 5 Mb
• Max Java Heap: 3 Mb
• Screen Size: 240 x 320
• Very responsive UI, because of
the new underlying OS and new
Oracle VM
• Series 40 Binary Compatibility
WHAT’S NEW FOR 3RD PARTY DEVELOPERS
Nokia Asha SDK 1.0
– Nokia Asha 501 Emulator, support for 47 languages
– Nokia IDE 2.0 for Java ME
– Offline Documentation
– Tantalum Library
– HERE Maps API
– On-device debugger over WiFi
UI and graphics
– LCDUI Changes
– New LWUIT for Asha Release
– Image scaling API
– Gesture API: new double tap
App Framework
– Internationalization API (JSR-238)
Networking
– Network State API: SIM, network, WLAN change notifications
WHAT’S NEW FOR 3RD PARTY DEVELOPERS
Multimedia
– AMMS: Tuner, image encoding, image post processing
– Video Recording
– Removed com.nokia.mid.sound.Sound (Nokia UI)
Security
– PKI support.
– Removed APDU / SATSA-APDU
Data Handling
– Contacts API: contact change notifications in phonebook (while MIDlet is active)
– File Select API: use native file browser to select files
– Phone Setting API: retrieve settings + change notifications: flight mode, data connection,
silent mode, etc.
– Nokia Notifications API: subscribe + get payload of notifications
HANDS-ON DEMO
Nokia Asha SDK 1.0
– Nokia Asha 501 Emulator
– Nokia IDE 2.0 for Java ME
– Offline Documentation
NEW ASHA UX
https://www.developer.nokia.com/Resources/Library/Asha_UI
HARDWARE KEYS BACK BUTTON
USER INTERFACE LAYOUT
SCREEN SIZES AND AREAS
CATEGORY BAR CHANGES - ACTIONS
Highlights current tab. Category
bar should disappear when
drilling down.
Highlight only on touch down.
Affect entire view, not a single
item within view.
HANDS-ON DEMO
Nokia Asha UI Components Demo
LWUIT FOR NOKIA ASHA SOFTWARE PLATFORM 1.0
• New port of LWUIT, targeting specifically new
Asha platform
• Based on the LWUIT for Series 40 v1.0
• Adds Nokia Asha Software Platform 1.0 Theme
• Adds 8 new components
• Changes and adaptations of existing
components to new Asha platform
• Improved performance especially in themes
memory usage.
• 25 Examples in SDK
HANDS-ON DEMO
LWUIT Components Demo
TANTALUM LIBRARY
• Tantalum is a cross-platform Java library that provides a minimal set of
functionality to easily create concurrent, networked applications: thread
pool, HTTP networking with caching, logging and JSON support from
org.json.me library. It’s a rather of a set of common best practices that
has been validated to work on both Asha and Android, than a heavyweight
compatibility wrapper.
• The approach is to strictly separate clean, concurrent, event-driven
background application logic from clean, single thread event-driven user
interface (UI) code. This way you can achieve the best-possible user
experience (UX) on each platform you support by using the best native UI
classes while re-using your application logic across all platforms.
HANDS-ON DEMO
Tantalum PicasaViewer Demo
PHONE SETTINGS
Current state & change listener subscriptions
– Flight mode
– Data connection
– Background data connection
– Roaming data connection
– Vibrator mode
– Silent mode
SETTINGS DETECTION
NETWORK STATE
Monitor state of
– Network (home / roaming)
– SIM
– WLAN
NETWORK STATE DETECTION
SIM STATE DETECTION
WIFI STATE DETECTION
FILE SELECT API
• The File Select API allows MIDlets to use the device’s native file browser to list and select
files. The listing of files can be filtered by URL path and media type, and single as well as
multiple files can be selected.
• The device’s native file browser provides its own UI and handles browsing, listing and
selection of files. The File Select API pauses the thread, which is calling the API, till a file is
selected or the operation is cancelled.
• MIDlets can use the File Select API to:
– Select files to attach to a MMS or email message
– Select files for uploading to a website (publishing, archiving etc.)
– Select documents (PDF, DOC, TXT etc.) for viewing or editing
– Select images for viewing or editing
– Select audio or video clips for playback or editing
• Use the File Select API, if you want to list and select files, but do not want to implement
the file listing and selection functionality by yourself.
• Note: The File Select API can launch only one instance of the device’s native file browser at
a time.
USING FILESELECT API
• The File Select API consists of the following classes
(packaged as a part of the Nokia UI API):
• FileSelect
– Use the FileSelect class to allow a MIDlet to list
and select files through the native file browser
of the device.
• FileSelectDetail
– Use the FileSelectDetail class to allow a MIDlet
to retrieve detailed information, like name,
type, size and URL, about the selected files of
the device.
IMAGE SCALING API
• The Image Scaling API allows MIDlets to downscale images by file size or by
dimension (i.e. width and height) with the aspect ratio of the image can be retained if
required. For JPEG images, the output quality can be set before downscaling.
• Actual downscaling process is done outside of JVM, so no extra memory
requirements for 3rd party apps.
• Note: The Image Scaling API cannot upscale an image, and does not allow users to
select any protected images for downscaling due to security or copyright issues.
USING IMAGE SCALING
• The Image Scaling API consists of the following classes
and interfaces (packaged as a part of the Nokia API):
• ImageScaler
– Use the ImageScaler class to allow a MIDlet to
downscale images in the device.
• ImageScalerConstants
– Use the ImageScaleConstants class to allow a
MIDlet to use the image scaler definitions
generated by the configuration utility.
• ImageScalerListener
– Use the ImageScalerListener interface to allow a
MIDlet to discover status of images being
downscaled in the device.
HANDS-ON DEMO
New Nokia APIs
– FileSelect API
– ImageScaling API
WHAT ARE NOKIA NOTIFICATIONS FOR?
• Real Push Notification service, similar to existing equivalents on Windows Phone,
Android and iOS.
• Provides a way for 3rd party developers to deliver targeted notifications to individual
Asha devices with installed dedicated 3rd party Midlet.
• Notifications are delivered in various forms to device:
– If Midlet is not running and device is locked: notification is delivered to the lock
screen with associated audio / visual / vibration signal;
– If Midlet is not running and device is unlocked: notification is delivered to the
upper notification area (similar to Windows Phone toast notifications) with
associated audio / visual / vibration signal;
– If Midlet is running: notification is delivered directly to the Midlet.
• In order to deliver notification, device must have enabled data connection.
NOTIFICATION AT THE LOCK SCREEN
NOTIFICATION AREA
NOTIFICATION AT THE UPPER SLIDER
NOTIFICATIONS APIS
There are two parts:
– Nokia Notifications Service API (REST API);
• Used by 3rd party service in order to contact Nokia Notification
Server and deliver targeted notifications to the individual devices.
– Nokia Notifications Client API (Java ME);
• Used by 3rd party Midlet in order to register for the notifications
delivery and actually receive notifications.
REGISTERING NEW 3RD PARTY SERVICE
• Developer must have valid free Nokia Developer ID;
• Use web based Nokia Developer Consoler at:
https://account.nnapi.ovi.com/cm/Web/services.jsp
• Create and generate with web tool:
– Service ID
– Application ID
– Service Secret
NOKIA DEVELOPER CONSOLE UI
IMPLEMENTING FULL SERVICE
• Once service created, developer can use
Nokia Notifications Client API (Java ME)
in Midlet and register for receiving
notifications by using Service ID and
Application ID.
• When Midlet is registered with service, it
received unique Notification ID. This ID
should be transferred to 3rd party
service as unique identifier of Midlet and
device.
• Using Nokia Notifications Service API
(REST), 3rd party service contacts Nokia
Notification Server and sends actual
notifications with Service ID, Application
ID, Service Secret, Notification ID.
SANDBOX AND PRODUCTION
• Each service will have:
– Sandbox environment;
– Production environment;
– Production environment in
China;
• On device or emulator, developers
can switch environment with special
Environment Selector from Nokia
Asha SDK.
NOKIA NOTIFICATIONS CLIENT API
NotificationInfo
– Use the NotificationInfo to retrieve application specific settings from the Notification Enabler.
NotificationMessage
– Use the NotificationMessage to receive notification messages from a service.
NotificationPayload
– Use the NotificationPayload to receive notification payload from a service.
NotificationSession
– Use the NotificationSession for communicating with the Notification Enabler.
NotificationSessionListener
– Use the NotificationSessionListener to get notified when a message or a notification info is received, or when the
notification status changes.
NotificationState
– Use the NotificationState to determine the state of notification session i.e. whether the MIDlet is not connected,
connecting, or connected to receive notifications.
NotificationEnvironment
– Use the NotificationEnvironment to specify the Notification Server environment for the Notification Enabler.
NotificationError
– Use the NotificationError to determine errors related to the notification state and exceptions.
NotificationSessionFactory
– Use the NotificationSessionFactory to create a notification session to communicate with the Notification Enabler.
SEQUENCE OF STEPS FOR MIDLET
Load the session by calling the NotificationSessionFactory and
give the application identity:
private NotificationSession session;
session = NotificationSessionFactory.openSession(midlet,
"example.com", "com.example", this);
Request from session Notification ID and transfer to 3rd party service.
Implement NotificationSessionListener;
USING NOKIA NOTIFICATION SERVICE API (REST)
WITH CURL
Test API:
curl --digest -u "<SERVICE_ID>:<SERVICE_SECRET>"
https://alpha.one.ovi.com/nnapi/1.0/ping
Send notification:
curl --digest -u "<SERVICE_ID>:<SERVICE_SECRET>" -d
"toapp=<APPLICATION_ID>" -d "payload=Test"
https://alpha.one.ovi.com/nnapi/1.0/nid/<NOTIFICATION_ID>
NOTIFICATION PARAMETERS (1)
payload
– Notification content. Payload can be max 1536 bytes long. System never touches
this part (except for doing compression on the server side and decompression on the
client side) - it is always provided to the recipient application "as is".
wakeup
– Specifies whether an application that is not already running on the device should be
started when a notification is received. Note that a notification will only be displayed
if the wake up parameter is set TRUE both in the Service API and the Client API.
Default value is TRUE.
alert
– Defines if an alert is to be triggered when notification is received. Valid values TRUE
or FALSE. Default value is FALSE.
ctype
– Specifies the content type of payload as a mime-type (for example, application/xml,
text/plain). Maximum length is 255 bytes.
enc
– Defines the message content encoding (for example, Base64). Maximum length is 32
bytes.
NOTIFICATION PARAMETERS (2)
title
– Notification title. Maximum length is 140 bytes.
subtitle
– Notification subtitle. Maximum length is 140 bytes.
type
– Notification type. Maximum length is 20 bytes.
icon
– Notification icon URI. This URI must point to the resource available publicly in
web. Only PNG format icons are supported. Maximum length is 256 octets.
expires-at
– If the recipient is not available, this parameter defines the time in seconds the
notification will be stored for the recipient. Maximum value is 1209600.
toApp
– ID of the target application.
HANDS-ON DEMO
Nokia Notifications APIs
THANK YOU!

Más contenido relacionado

Destacado

Nokia Asha UI Clinic: October 2013 — Kids Choice and Photogram
Nokia Asha UI Clinic: October 2013 — Kids Choice and PhotogramNokia Asha UI Clinic: October 2013 — Kids Choice and Photogram
Nokia Asha UI Clinic: October 2013 — Kids Choice and PhotogramMicrosoft Mobile Developer
 
Deep dive into Nokia Asha UI design: Designing apps
Deep dive into Nokia Asha UI design: Designing appsDeep dive into Nokia Asha UI design: Designing apps
Deep dive into Nokia Asha UI design: Designing appsMicrosoft Mobile Developer
 
Nokia Asha UX webinar: Design tips for Nokia Asha game developers
Nokia Asha UX webinar: Design tips for Nokia Asha game developersNokia Asha UX webinar: Design tips for Nokia Asha game developers
Nokia Asha UX webinar: Design tips for Nokia Asha game developersMicrosoft Mobile Developer
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky Sudoku
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky SudokuNokia Asha UI Clinic: November 2013 — Jumping Man and Sky Sudoku
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky SudokuMicrosoft Mobile Developer
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsMicrosoft Mobile Developer
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Microsoft Mobile Developer
 
Deep dive into Nokia Asha UI design: Fundamentals
Deep dive into Nokia Asha UI design: FundamentalsDeep dive into Nokia Asha UI design: Fundamentals
Deep dive into Nokia Asha UI design: FundamentalsMicrosoft Mobile Developer
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesMicrosoft Mobile Developer
 
Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile Developer
 
software testing on whatsapp
software testing on whatsappsoftware testing on whatsapp
software testing on whatsappnil65
 

Destacado (18)

Push notifications on Nokia X
Push notifications on Nokia XPush notifications on Nokia X
Push notifications on Nokia X
 
DIY Nokia Asha app usability studies
DIY Nokia Asha app usability studiesDIY Nokia Asha app usability studies
DIY Nokia Asha app usability studies
 
Nokia Asha UI Clinic: October 2013 — Kids Choice and Photogram
Nokia Asha UI Clinic: October 2013 — Kids Choice and PhotogramNokia Asha UI Clinic: October 2013 — Kids Choice and Photogram
Nokia Asha UI Clinic: October 2013 — Kids Choice and Photogram
 
Nokia Asha from idea to app - Imaging
Nokia Asha from idea to app - ImagingNokia Asha from idea to app - Imaging
Nokia Asha from idea to app - Imaging
 
Deep dive into Nokia Asha UI design: Designing apps
Deep dive into Nokia Asha UI design: Designing appsDeep dive into Nokia Asha UI design: Designing apps
Deep dive into Nokia Asha UI design: Designing apps
 
Introducao a nova plataforma nokia asha
Introducao a nova plataforma nokia ashaIntroducao a nova plataforma nokia asha
Introducao a nova plataforma nokia asha
 
Nokia Asha UX webinar: Design tips for Nokia Asha game developers
Nokia Asha UX webinar: Design tips for Nokia Asha game developersNokia Asha UX webinar: Design tips for Nokia Asha game developers
Nokia Asha UX webinar: Design tips for Nokia Asha game developers
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky Sudoku
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky SudokuNokia Asha UI Clinic: November 2013 — Jumping Man and Sky Sudoku
Nokia Asha UI Clinic: November 2013 — Jumping Man and Sky Sudoku
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
Lumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK betaLumia App Labs: Lumia SensorCore SDK beta
Lumia App Labs: Lumia SensorCore SDK beta
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
 
Deep dive into Nokia Asha UI design: Fundamentals
Deep dive into Nokia Asha UI design: FundamentalsDeep dive into Nokia Asha UI design: Fundamentals
Deep dive into Nokia Asha UI design: Fundamentals
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
 
Intro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and toolsIntro to Nokia X software platform 2.0 and tools
Intro to Nokia X software platform 2.0 and tools
 
software testing on whatsapp
software testing on whatsappsoftware testing on whatsapp
software testing on whatsapp
 

Similar a Introduction to Nokia Asha software platform 1.0

Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
Desktop Alert Lite 4.0 Presentation
Desktop Alert Lite 4.0 PresentationDesktop Alert Lite 4.0 Presentation
Desktop Alert Lite 4.0 Presentationdesktopalert
 
The Hybrid Theory of Classroom Capture
The Hybrid Theory  of Classroom CaptureThe Hybrid Theory  of Classroom Capture
The Hybrid Theory of Classroom CaptureEveretteGAllen
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and WatsonJake Peyser
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsRomin Irani
 
Multimedia authoring and user interface
Multimedia authoring and user interface Multimedia authoring and user interface
Multimedia authoring and user interface nirmalbj
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoynAlex Gonzalez
 
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...Zohar Babin
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p appgeniushkg
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia
 
IBM Worklight
IBM WorklightIBM Worklight
IBM WorklightNir Elbaz
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment systemParag Tamhane
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET Journal
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET Journal
 
CloudStack-UI at the JAX London Сonference
CloudStack-UI at the JAX London СonferenceCloudStack-UI at the JAX London Сonference
CloudStack-UI at the JAX London СonferenceOlga Nikienko
 
Android architecture
Android architectureAndroid architecture
Android architectureDeepa Rahul
 

Similar a Introduction to Nokia Asha software platform 1.0 (20)

Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
Desktop Alert Lite 4.0 Presentation
Desktop Alert Lite 4.0 PresentationDesktop Alert Lite 4.0 Presentation
Desktop Alert Lite 4.0 Presentation
 
The Hybrid Theory of Classroom Capture
The Hybrid Theory  of Classroom CaptureThe Hybrid Theory  of Classroom Capture
The Hybrid Theory of Classroom Capture
 
Introduction to Bluemix and Watson
Introduction to Bluemix and WatsonIntroduction to Bluemix and Watson
Introduction to Bluemix and Watson
 
Revue des annonces WWDC2015
Revue des annonces WWDC2015Revue des annonces WWDC2015
Revue des annonces WWDC2015
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Multimedia authoring and user interface
Multimedia authoring and user interface Multimedia authoring and user interface
Multimedia authoring and user interface
 
Introduction to AllJoyn
Introduction to AllJoynIntroduction to AllJoyn
Introduction to AllJoyn
 
Fun Food
Fun FoodFun Food
Fun Food
 
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability a...
 
Wifi direct p2p app
Wifi direct p2p appWifi direct p2p app
Wifi direct p2p app
 
Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010Nokia Qt SDK in action - Qt developer days 2010
Nokia Qt SDK in action - Qt developer days 2010
 
AZURE CC JP.pptx
AZURE CC JP.pptxAZURE CC JP.pptx
AZURE CC JP.pptx
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
 
Symbian OS
Symbian  OS Symbian  OS
Symbian OS
 
2 d barcode based mobile payment system
2 d barcode based mobile payment system2 d barcode based mobile payment system
2 d barcode based mobile payment system
 
IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)IRJET- Conversational Commerce (ESTILO)
IRJET- Conversational Commerce (ESTILO)
 
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
IRJET- Design of Closed Loop PI Controller Based Hybrid Z-Source DC-DC Conver...
 
CloudStack-UI at the JAX London Сonference
CloudStack-UI at the JAX London СonferenceCloudStack-UI at the JAX London Сonference
CloudStack-UI at the JAX London Сonference
 
Android architecture
Android architectureAndroid architecture
Android architecture
 

Más de Microsoft Mobile Developer

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraMicrosoft Mobile Developer
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0Microsoft Mobile Developer
 
Sviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screenSviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screenMicrosoft Mobile Developer
 
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data SharingAccesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data SharingMicrosoft Mobile Developer
 

Más de Microsoft Mobile Developer (19)

Healthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia AshaHealthcare apps for Nokia X and Nokia Asha
Healthcare apps for Nokia X and Nokia Asha
 
Lessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviewsLessons learned from Nokia X UI reviews
Lessons learned from Nokia X UI reviews
 
Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
Connettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile ServicesConnettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile Services
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Sviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screenSviluppare una live app notifiche, live tile, lock screen
Sviluppare una live app notifiche, live tile, lock screen
 
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data SharingAccesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
 

Último

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 

Último (20)

H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 

Introduction to Nokia Asha software platform 1.0

  • 1. INTRODUCTION TO NOKIA ASHA SOFTWARE PLATFORM 1.0 Michael Samarin Director, Developer Training and Evangelism Futurice @MichaelSamarin
  • 2. NOKIA ASHA SOFTWARE PLATFORM 1.0 • Java ME MIDP 2.1 CLDC 1.1 • Optional JSRs • Nokia APIs • Max JAR file size: 5 Mb • Max Java Heap: 3 Mb • Screen Size: 240 x 320 • Very responsive UI, because of the new underlying OS and new Oracle VM • Series 40 Binary Compatibility
  • 3. WHAT’S NEW FOR 3RD PARTY DEVELOPERS Nokia Asha SDK 1.0 – Nokia Asha 501 Emulator, support for 47 languages – Nokia IDE 2.0 for Java ME – Offline Documentation – Tantalum Library – HERE Maps API – On-device debugger over WiFi UI and graphics – LCDUI Changes – New LWUIT for Asha Release – Image scaling API – Gesture API: new double tap App Framework – Internationalization API (JSR-238) Networking – Network State API: SIM, network, WLAN change notifications
  • 4. WHAT’S NEW FOR 3RD PARTY DEVELOPERS Multimedia – AMMS: Tuner, image encoding, image post processing – Video Recording – Removed com.nokia.mid.sound.Sound (Nokia UI) Security – PKI support. – Removed APDU / SATSA-APDU Data Handling – Contacts API: contact change notifications in phonebook (while MIDlet is active) – File Select API: use native file browser to select files – Phone Setting API: retrieve settings + change notifications: flight mode, data connection, silent mode, etc. – Nokia Notifications API: subscribe + get payload of notifications
  • 5. HANDS-ON DEMO Nokia Asha SDK 1.0 – Nokia Asha 501 Emulator – Nokia IDE 2.0 for Java ME – Offline Documentation
  • 10. CATEGORY BAR CHANGES - ACTIONS Highlights current tab. Category bar should disappear when drilling down. Highlight only on touch down. Affect entire view, not a single item within view.
  • 11. HANDS-ON DEMO Nokia Asha UI Components Demo
  • 12. LWUIT FOR NOKIA ASHA SOFTWARE PLATFORM 1.0 • New port of LWUIT, targeting specifically new Asha platform • Based on the LWUIT for Series 40 v1.0 • Adds Nokia Asha Software Platform 1.0 Theme • Adds 8 new components • Changes and adaptations of existing components to new Asha platform • Improved performance especially in themes memory usage. • 25 Examples in SDK
  • 14. TANTALUM LIBRARY • Tantalum is a cross-platform Java library that provides a minimal set of functionality to easily create concurrent, networked applications: thread pool, HTTP networking with caching, logging and JSON support from org.json.me library. It’s a rather of a set of common best practices that has been validated to work on both Asha and Android, than a heavyweight compatibility wrapper. • The approach is to strictly separate clean, concurrent, event-driven background application logic from clean, single thread event-driven user interface (UI) code. This way you can achieve the best-possible user experience (UX) on each platform you support by using the best native UI classes while re-using your application logic across all platforms.
  • 16. PHONE SETTINGS Current state & change listener subscriptions – Flight mode – Data connection – Background data connection – Roaming data connection – Vibrator mode – Silent mode
  • 18. NETWORK STATE Monitor state of – Network (home / roaming) – SIM – WLAN
  • 22. FILE SELECT API • The File Select API allows MIDlets to use the device’s native file browser to list and select files. The listing of files can be filtered by URL path and media type, and single as well as multiple files can be selected. • The device’s native file browser provides its own UI and handles browsing, listing and selection of files. The File Select API pauses the thread, which is calling the API, till a file is selected or the operation is cancelled. • MIDlets can use the File Select API to: – Select files to attach to a MMS or email message – Select files for uploading to a website (publishing, archiving etc.) – Select documents (PDF, DOC, TXT etc.) for viewing or editing – Select images for viewing or editing – Select audio or video clips for playback or editing • Use the File Select API, if you want to list and select files, but do not want to implement the file listing and selection functionality by yourself. • Note: The File Select API can launch only one instance of the device’s native file browser at a time.
  • 23. USING FILESELECT API • The File Select API consists of the following classes (packaged as a part of the Nokia UI API): • FileSelect – Use the FileSelect class to allow a MIDlet to list and select files through the native file browser of the device. • FileSelectDetail – Use the FileSelectDetail class to allow a MIDlet to retrieve detailed information, like name, type, size and URL, about the selected files of the device.
  • 24. IMAGE SCALING API • The Image Scaling API allows MIDlets to downscale images by file size or by dimension (i.e. width and height) with the aspect ratio of the image can be retained if required. For JPEG images, the output quality can be set before downscaling. • Actual downscaling process is done outside of JVM, so no extra memory requirements for 3rd party apps. • Note: The Image Scaling API cannot upscale an image, and does not allow users to select any protected images for downscaling due to security or copyright issues.
  • 25. USING IMAGE SCALING • The Image Scaling API consists of the following classes and interfaces (packaged as a part of the Nokia API): • ImageScaler – Use the ImageScaler class to allow a MIDlet to downscale images in the device. • ImageScalerConstants – Use the ImageScaleConstants class to allow a MIDlet to use the image scaler definitions generated by the configuration utility. • ImageScalerListener – Use the ImageScalerListener interface to allow a MIDlet to discover status of images being downscaled in the device.
  • 26. HANDS-ON DEMO New Nokia APIs – FileSelect API – ImageScaling API
  • 27. WHAT ARE NOKIA NOTIFICATIONS FOR? • Real Push Notification service, similar to existing equivalents on Windows Phone, Android and iOS. • Provides a way for 3rd party developers to deliver targeted notifications to individual Asha devices with installed dedicated 3rd party Midlet. • Notifications are delivered in various forms to device: – If Midlet is not running and device is locked: notification is delivered to the lock screen with associated audio / visual / vibration signal; – If Midlet is not running and device is unlocked: notification is delivered to the upper notification area (similar to Windows Phone toast notifications) with associated audio / visual / vibration signal; – If Midlet is running: notification is delivered directly to the Midlet. • In order to deliver notification, device must have enabled data connection.
  • 28. NOTIFICATION AT THE LOCK SCREEN
  • 30. NOTIFICATION AT THE UPPER SLIDER
  • 31. NOTIFICATIONS APIS There are two parts: – Nokia Notifications Service API (REST API); • Used by 3rd party service in order to contact Nokia Notification Server and deliver targeted notifications to the individual devices. – Nokia Notifications Client API (Java ME); • Used by 3rd party Midlet in order to register for the notifications delivery and actually receive notifications.
  • 32. REGISTERING NEW 3RD PARTY SERVICE • Developer must have valid free Nokia Developer ID; • Use web based Nokia Developer Consoler at: https://account.nnapi.ovi.com/cm/Web/services.jsp • Create and generate with web tool: – Service ID – Application ID – Service Secret
  • 34. IMPLEMENTING FULL SERVICE • Once service created, developer can use Nokia Notifications Client API (Java ME) in Midlet and register for receiving notifications by using Service ID and Application ID. • When Midlet is registered with service, it received unique Notification ID. This ID should be transferred to 3rd party service as unique identifier of Midlet and device. • Using Nokia Notifications Service API (REST), 3rd party service contacts Nokia Notification Server and sends actual notifications with Service ID, Application ID, Service Secret, Notification ID.
  • 35. SANDBOX AND PRODUCTION • Each service will have: – Sandbox environment; – Production environment; – Production environment in China; • On device or emulator, developers can switch environment with special Environment Selector from Nokia Asha SDK.
  • 36. NOKIA NOTIFICATIONS CLIENT API NotificationInfo – Use the NotificationInfo to retrieve application specific settings from the Notification Enabler. NotificationMessage – Use the NotificationMessage to receive notification messages from a service. NotificationPayload – Use the NotificationPayload to receive notification payload from a service. NotificationSession – Use the NotificationSession for communicating with the Notification Enabler. NotificationSessionListener – Use the NotificationSessionListener to get notified when a message or a notification info is received, or when the notification status changes. NotificationState – Use the NotificationState to determine the state of notification session i.e. whether the MIDlet is not connected, connecting, or connected to receive notifications. NotificationEnvironment – Use the NotificationEnvironment to specify the Notification Server environment for the Notification Enabler. NotificationError – Use the NotificationError to determine errors related to the notification state and exceptions. NotificationSessionFactory – Use the NotificationSessionFactory to create a notification session to communicate with the Notification Enabler.
  • 37. SEQUENCE OF STEPS FOR MIDLET Load the session by calling the NotificationSessionFactory and give the application identity: private NotificationSession session; session = NotificationSessionFactory.openSession(midlet, "example.com", "com.example", this); Request from session Notification ID and transfer to 3rd party service. Implement NotificationSessionListener;
  • 38. USING NOKIA NOTIFICATION SERVICE API (REST) WITH CURL Test API: curl --digest -u "<SERVICE_ID>:<SERVICE_SECRET>" https://alpha.one.ovi.com/nnapi/1.0/ping Send notification: curl --digest -u "<SERVICE_ID>:<SERVICE_SECRET>" -d "toapp=<APPLICATION_ID>" -d "payload=Test" https://alpha.one.ovi.com/nnapi/1.0/nid/<NOTIFICATION_ID>
  • 39. NOTIFICATION PARAMETERS (1) payload – Notification content. Payload can be max 1536 bytes long. System never touches this part (except for doing compression on the server side and decompression on the client side) - it is always provided to the recipient application "as is". wakeup – Specifies whether an application that is not already running on the device should be started when a notification is received. Note that a notification will only be displayed if the wake up parameter is set TRUE both in the Service API and the Client API. Default value is TRUE. alert – Defines if an alert is to be triggered when notification is received. Valid values TRUE or FALSE. Default value is FALSE. ctype – Specifies the content type of payload as a mime-type (for example, application/xml, text/plain). Maximum length is 255 bytes. enc – Defines the message content encoding (for example, Base64). Maximum length is 32 bytes.
  • 40. NOTIFICATION PARAMETERS (2) title – Notification title. Maximum length is 140 bytes. subtitle – Notification subtitle. Maximum length is 140 bytes. type – Notification type. Maximum length is 20 bytes. icon – Notification icon URI. This URI must point to the resource available publicly in web. Only PNG format icons are supported. Maximum length is 256 octets. expires-at – If the recipient is not available, this parameter defines the time in seconds the notification will be stored for the recipient. Maximum value is 1209600. toApp – ID of the target application.