+ All Categories
Home > Technology > Adapting Series 40 touch and type apps to the full-touch UI

Adapting Series 40 touch and type apps to the full-touch UI

Date post: 12-Jan-2015
Category:
Upload: nokia-developer
View: 1,663 times
Download: 0 times
Share this document with a friend
Description:
Michael Samarin's presentation for the Nokia Developer webinars that demonstrate how to take apps designed for the touch and type UI on Series 40 and adapt them to run on the full-touch UI found on the Nokia Touch phones.
Popular Tags:
17
Series 40 Developer Training Adapting Series 40 Touch and Type apps to full- touch UI Michael Samarin, Ph.D Director, Developer Training and Evangelism Futurice Oy @MichaelSamarin
Transcript
Page 1: Adapting Series 40 touch and type apps to the full-touch UI

Series 40 Developer TrainingAdapting Series 40 Touch and Type apps to full-touch UI

Michael Samarin, Ph.DDirector, Developer Training and EvangelismFuturice Oy

@MichaelSamarin

Page 2: Adapting Series 40 touch and type apps to the full-touch UI

Agenda for today’s webinar

› Brief Full Touch Devices Overview

› UI Style Guides

› Adapting Touch & Type apps

› Demonstrations with NetBeans and Nokia SDKs

Don’t forget to take a look at previously recorded webinars:

http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml#Webinar

Page 4: Adapting Series 40 touch and type apps to the full-touch UI

Existing Touch & Type or Non

Touch apps

› Codebase on Full Touch is backward compatible

› Older Midlets “just work”

› Of course UI requires tweaking and remodeling to utilize new UI paradigm

Best help in understanding new UI - Series 40 Full Touch Design Guidelines:

http://www.developer.nokia.com/Resources/Library/Full_Touch/#!index.html

Page 5: Adapting Series 40 touch and type apps to the full-touch UI

Strategies for targeting

Touch & Type and

Full Touch

› Single build for multiple target devices

› Code level configurations

› Multiple builds for multiple target devices

› IDE level configurations – NetBeans

Page 6: Adapting Series 40 touch and type apps to the full-touch UI

» For single build targeting multiple devices checkout porting part of webinar:

» Andreas Jakl, Nokia

› Introduction to Nokia Series 40 Full Touch UI

› http://www.slideshare.net/nokia-developer/introduction-to-series-40-full-touch-ui

› http://forumnokia.adobeconnect.com/p3yw0g4jz6f/

» Following slides are extracts

Page 7: Adapting Series 40 touch and type apps to the full-touch UI

COMPATIBILITY?

• Source & binary compatible– xx years old Java ME apps run on

full touch phones!

• Downwards compatibility– Check API support of target phones

– Lowest common denominator:→ Nokia Java SDK 2.0 compiled app runs on old phones

7 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

Page 8: Adapting Series 40 touch and type apps to the full-touch UI

PORTING TO TOUCH• All Java ME apps should run on full touch phone

– High-Level UI– Adapts automatically– Components include touch-support– Check layout– New UI components (CategoryBar, etc.) don’t have to be used

– Low-Level UI– New screen size & aspect ratio (but: most Java apps already flexible here)– Touch supported in Java ME since many years– Basic key simulation with drag gestures for non-touch apps

• New APIs for Multitouch, Pinch, CategoryBar & Sensors– Only work on FT phones

– Careful app design even keeps downwards compatibility

8 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

Page 9: Adapting Series 40 touch and type apps to the full-touch UI

PORTING

9 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

Non-t

ouch

Touch

and t

ype

Full

touch

Non-touch app with high-level UI (LCDUI):Automatically adapts to touch

Page 10: Adapting Series 40 touch and type apps to the full-touch UI

DYNAMIC API USAGE

• Single code base for different phones–Code that uses new APIs

–Externalize to extra class

–Check API support at runtime– Instantiate class if supported–Different methods for checking available

10 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

Page 11: Adapting Series 40 touch and type apps to the full-touch UI

EXAMPLE: PINCH GESTURE

• Gesture API–Available in Touch & Type

–Full Touch adds Pinch gesture

–Query support at runtime

11 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

// Pinch gestureif (GestureInteractiveZone.isSupported(GestureInteractiveZone.GESTURE_PINCH)) { // Gesture is supported - register class as listener GestureRegistrationManager.setListener(this, this); // Register for pinch gesture gestureZone = new GestureInteractiveZone(GestureInteractiveZone.GESTURE_PINCH); GestureRegistrationManager.register(this, gestureZone);}

Page 12: Adapting Series 40 touch and type apps to the full-touch UI

EXAMPLE: OPTIONAL MULTITOUCH

• Encapsulate API using code to separate class

• Check support and instantiate on demand

12 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

public class MultitouchManager implements MultipointTouchListener { public MultitouchManager(MainCanvas canvas) { MultipointTouch mpt = MultipointTouch.getInstance(); mpt.addMultipointTouchListener(this); }

public void pointersChanged(int[] pointerIds) { /* ... */ }}

if (System.getProperty("com.nokia.mid.ui.multipointtouch.version") != null) { // API is supported: Can implement multipoint touch functionality multiManager = new MultitouchManager(this); useMultitouch = true;}

protected void pointerPressed(int x, int y) { if (!useMultitouch) { // Handle touch event // on single-touch phone }}

In MainCanvas class (extends Canvas)

Hint: only handle Canvas.pointerPressed() on single touch phones

Page 13: Adapting Series 40 touch and type apps to the full-touch UI

EXAMPLE: API AVAILABILITY

• No System property for the API version?–Check Class availability

–ClassNotFoundException? → API not supported

13 © 2012 Nokia Java ME Touch v1.3.0 June 27, 2012 Andreas Jakl

// Virtual keyboard supporttry { // Check if class is available Class.forName("com.nokia.mid.ui.VirtualKeyboard"); vkbManager = new VkbManager(this); useVkb = true;} catch (ClassNotFoundException e) { // Class not available: running app on Java Runtime < 2.0.0 phone. // -> no Virtual Keyboard API support. useVkb = false;} catch (Exception e) { }

Page 14: Adapting Series 40 touch and type apps to the full-touch UI

» For multiple builds targeting multiple devices currently NetBeans provides simplest and hassle free solution.

» Use NetBeans “Configurations” when targeting multiple devices / SDKs, for example Nokia SDK for Java 1.1 (Touch & Type) and Nokia SDK for Java 2.0 (Full Touch).

» Live Demo

» If you are watching this slides on SlideShare, next part is live coding demonstration. You can see video recording from the link in the comments section. Link should appear within week after live webinar.

Page 15: Adapting Series 40 touch and type apps to the full-touch UI

› Topics related to today’s webinar:

› Porting from BlackBerry to Series 40 Wiki article:

› http://www.developer.nokia.com/Community/Wiki/Porting_from_BlackBerry_to_Series_40

› Porting from Android to Series 40 Guide:

› http://www.developer.nokia.com/Resources/Library/Porting_to_Series_40/#!porting-from-android-to-series-40.html

Page 16: Adapting Series 40 touch and type apps to the full-touch UI

› Java for Mobile Devices: New Horizons with Fantastic New Devices

› Monday, Oct 1, 8:30AM

› Notel Nikko – Monterey I/II


Recommended