Android Development for BlackBerry Developers

tearfuloilMobile - Wireless

Dec 10, 2013 (3 years and 7 months ago)

65 views

Android Development for
BlackBerry Developers

Kamen Vitanov

Senior Architect, Strategic Initiatives

Research In Motion

November 3

-

4
, 2011


Why BlackBerry


BB5/6/7 has a worldwide audience of >70M and
growing


BlackBerry will be a huge and lucrative market for years
to
come



Still
the
most solid out
-
of
-
the
-
box solution for
corporate users


Central
management


Industry
-
proven security


The first tablet with US government certification
-

FIPS 140
-
2


The de
-
facto standard for
government
mobile
communication

Why BlackBerry


Built on solid base


QNX


microkernel
-
based OS


Certicom


Torch Mobile


TAT


Embracing open technologies


Fully supporting the development community


Actively providing enhancements and
updates to tools, APIs and OS feature


Why BlackBerry


Global marketplace


FREE

to register as a vendor


FREE

to submit apps and
upgrades


70/30 revenue share


Credit card, PayPal, carrier billing


Free and paid apps catalog


Integrated barcode scanning


Next generation platform
-

BBX

Combining
t
he best of BlackBerry,
the best of QNX, and the best of
open standards

Platform Roadmap

BB5

BB7

BB6

PB1

PB2

BBX

Native

Native

Native

.
apk

.
apk

Recommendations

Native

.
apk

Native

.
apk

Good Old Java

QNX Native C

Native

http://developer.blackberry.com/native


BBX Native SDK

What is Cascades


Easy to use framework for
delivering
the
astonishing user experience


Rich set of core UI components


Built in signature effects


Pre
-
packaged interaction design


Easy data binding to various data
sources
(SQL/XML/JSON)


Ease of integration with platform
services


C++ and/or QML/JavaScript power for the same
object model


HTML5 and WebWorks

http://developer.blackberry.com/html5


Why HTML5 & WebWorks?

Decision guidance


Utilize your existing Web experience


Re
-
use lots of cross platform code


Extend with WebWorks to securely access

native level functionality


Provides the best of both worlds


Rich hardware accelerated UI on
BB7/PlayBook/BBX


WebWorks Supported on
BB5/BB6/BB7/PlayBook/BBX


Cross
-
platform through
PhoneGap

Adobe AIR SDK

http://us.blackberry.com/developers/tablet/adobe.jsp


Developing with AIR


Easily adapt and deploy existing content.


Native PlayBook component set look and
feel.


Can create hybrid apps.


Access to native API

s with AIR Native
Extensions.


Lots of great community support.


Lots of open
-
source frameworks.


New Stage3D offers great 3D performance.

BlackBerry Runtime for Android
Applications

Repackage your
Android
applications for
Playbook

http://developer.blackberry.com/android

Why repackage Android apps?

Decision guidance


Quick/cost
-
effective entry into the BlackBerry
platform


Monetize on the BlackBerry platform with
minimum
effort


65% of the existing applications require no
changes


No re
-
compilation!

Runtime for Android: What it is?


Runs on BlackBerry Playbook OS2.0 and
BBX.




Android Open source v2.3.3 aka

Gingerbread


Application Framework
running on top of Playbook OS and
Libraries.



Enables Android applications to be
installed and run inside it.

@twitterhandle


18

BlackBerry Tablet OS

Libraries

Surface
Mgr

WebKit

FreeType

SGL

SSL

SQLite

OpenGL ES

Media
Fwk

libc

Java Runtime

Dalvik

Virtual Machine

Core Libraries

Application Framework

Activity
Mgr

Package
Mgr

Resource
Mgr

Window
Mgr

View System

Location
Mgr

Notificatio
n
Mgr

App1

App2

App3

App4

App5

App6

App7

App8

Demo


Demo



Android Compatibility


Supports Android API level 10. However, not all
APIs are supported. Key unsupported items


Native code.


Add
-
on Google libraries e.g. Google Maps, C2DM etc.


You can invoke the native Camera app to capture a picture for
inclusion in your app via
android.provider.Mediastore.ACTION_IMAGE_CAPTURE
.

However, android.hardware.Camera APIs are
not

supported.


SIP, VOIP


No home screen means no widgets


Apps with no launch
-
able activities.


2 APKs can

t run in the same process.


RTSP and HTTP progressive streaming.


Android Compatibility


Unsupported APIs are classified by BlackBerry Tools into 5
categories based on their potential impact on whether an
application will run on PlayBook.


Impact level 5 (most severe): Application will not load
.


Native libraries, required 3
rd

party libraries.


Impact level 4: Application will most likely not be functional.


5
-
way navigation, h/w keyboard
, Google service C2DM.


Impact level 3: App may run but some functionality will not work
.


Missing Google services e.g. Google Maps.


Impact level 2: App may run but some functionality will not work.


Missing features e.g. Telephony, Camera, SIP, VOIP, NFC.


Impact level 1 (minor non compliance): App will run just fine.

Customize App UI for Playbook


Screen dimensions: 1024 x 600 pixels


xDPI
,
yDPI
: 169.99, 169.33


Bit depth: 32 (RGBA)


Application icon size: 86x86.


If your application icon is smaller than 86 x 86 pixels, then
a gray background appears behind the icon


Development environment


Eclipse plug
-
in ADT + BlackBerry Plug
-
in for ADT.


Playbook is yet another device that you can target using
your
existing

android project.


You can choose to develop your app on Android
emulator.


Debug apps on PB like any other android device. [
adb
,
ddms
]


Command line tools for non Eclipse developers.


Playbook Simulator (Playbook device is
recommended).


Supports Mac OS, Windows, and Linux.

Demo


Demo



Playbook integration


Security


BB Runtime for Android Apps runs in a secure PlayBook
OS sandbox that keeps android insulated from the rest of
the system. It

s treated as a secure PlayBook app and is
subject to the restrictions other native apps are subject
to.


Existing android permission system is retained by BB
Runtime. Your application can access the APK signature
of an application from package Manager.


Access to system resources are further protected by
PlayBook OS via Capabilities that need to be specified in
BAR manifest.

Playbook integration


Installation


Packaged into the Playbook OS
native application package


BAR


Media


Media Framework.


Media files shared with Native apps.


Graphics


H/W accelerated OpenGL and screen composition.


Playbook integration


Notification


Sensors


Virtual Key Board


Multi
-
touch


Applications


Email


Camera


Gallery3d


Settings


Links


Android


http://developer.blackberry.com/android


QNX
Nadive

SDK


http://developer.blackberry.com/native


HTML5 and
WebWorks


http://developer.blackberry.com/html5


Adobe AIR


http://us.blackberry.com/developers/tablet/adobe.js
p


Where to get signing keys (public):


https://www.blackberry.com/SignedKeys/


THANK YOU

Kamen Vitanov

November 3

-

4
, 2011