4. Android Operating System
Android is an open source operating
system, initially developed by
Android, Inc which Google later
bought in 2005.
Linux based (3.4.10 kernel) OS.
Can be programmed in C/C++ but
most app development is done in Java
(Java access to C Libraries via JNI
(Java Native Interface))
In last Quarter of 2013, Android
account for 81.3 % of global
Smartphones.
5. Open Handset Alliance
The Open Handset Alliance (OHA) is
a consortium of 84 firms to develop open
standards for mobile devices.
Member firms
include Google, HTC, Sony, Dell, Intel, Motorola, Q
ualcomm, Samsung Electronics, LG Electronics
, Texas Instruments.
Competes against Apple, Microsoft, Nokia (Symbian), HP (formerly Pa
lm), Samsung
Electronics/ Intel (Tizen, bada), and Blackberry.
6.
7. What made Android so popular?
(From developers point of view)
Global partnerships and large installed base
Powerful development framework
Open marketplace for distributing your apps
Free Apps & Advertisements.
8. Features – Open Source
Initially
device manufacturers were not
supporting third party firmware.
After the US government declared “Jailbreaking”
as legal, manufacturers and carriers have
softened their position regarding 3rd party
development.
Cyanogen Mod, is the most popular custom
ROM.
9. Features – Security & Privacy
Android applications run in a
sandbox.
Permissions are provided to the
application by the user while
installing them from Play Store
Google uses “Google Bouncer”
Malware scanner
Only 0.5 % of malware had
come from Google Play Store.
10. Features – Memory Management
Android
manages RAM to keep power
consumption in minimum level.
Though it supports multitasking, when memory is
low, the system will kill apps that have been
inactive for a while, in reverse order of usage.
11. Features - Hardware Support
Main Hardware is 32 bit ARM v7 Architecture.
Graphics Processing Unit (GPU)
Connectivity Options (3G ,4G LTE, WiFi, Bluetooth)
Accelerometer w/compass
•
•
•
•
•
•
•
Ambient light sensor
Proximity sensor
GPS
Gyroscope
NFC
Touch / Pressure Sensor
Finger Print Scanner and so on…
13. Demo on Sample Android App
Development
Android
Manifest
Resource
XML
Java Source
Generated
Class
Android
Libraries
Java
Compiler
.dex
File
Dalvik
VM
14. Dalvik virtual Machine
• Application virtual Machine or Managed Runtime
Environment currently used in Android for running
applications.
• The compact Dalvik Executable format is designed
to be suitable for systems that are constrained in
terms of memory and processor speed.
Android's ART virtual machine
• Introduced with Android 4.4
• It uses Ahead-of-time (AOT) process in which the
bytecode is pre-compiled into machine language at
the time of installation
17. Google Android Open Accessory
(AOA) Protocol
• Accessories use the (AOA) protocol to
communicate with Android devices, over a
USB cable or through a Bluetooth
connection.
• Accessory Development Kit (Arduino)
• Arduino based boards.
19. 3G & 4G Connectivity (Gobi)
•It provides a common software interface (API) for developers to
connect, locate, and manage the broadest range of 3G/4G devices in the
industry.
•Tap into the location functionality within Gobi to include services such as driving
directions, asset tracking, anti-theft, and enhanced commerce within your mobile
app
20. Computer Vision (FastCV)
•FastCV is a mobile-optimized computer vision (CV) library for developers of
sophisticated CV apps, CV middleware developers and CV app framework
architects.
•FastCV will enable you to add new user experiences into your camera-based
apps like:
•gesture recognition
•Face detection, tracking and recognition
•Text recognition and tracking
•Augmented reality
21. Context Aware (Gimbal)
•Gimbal is a context aware and proximity platform utilizing geofencing, microlocation, beacons enabled with Bluetooth Smart technology, interest sensing
and consumer privacy controls.
•A user’s mobile app can be enabled to look for the beacon’s transmission.
When it’s within physical proximity to the beacon and detects it, the app can
notify the customer of location-relevant content, promotions, and offers.
22. Mobile Gaming & Graphics
Optimization (Adreno)
•An SDK to optimize for faster frame
rates, smoother rendering and longer
battery life.
•Designed for everything from 3D rendering
to high-end effects.
•The
Adreno
SDK
includes
tools, libraries, samples, documentation, an
d tutorials for working with the OpenGL
ES, DirectX, OpenCL, and OpenSL API’s.
23. Peer-to-Peer
•Create unique apps and services by including the ability for devices to connect
via ad-hoc, peer networks using P2P technology. Nearby devices can
communicate directly with one another over Wi-Fi or Bluetooth without the need
to connect to cellular networks
•Qualcomm’s AllJyon
•Samsung’s Chord (All Share)
•Google’s Chromecast
24. Augmented Reality - Vuforia SDK
• Faster local detection of targets
• Cloud recognition of up to 1 million targets
simultaneously
• User-defined targets for run-time target
generation
• Cylinder targets – Detection and tracking of
images on a cylindrical surface
• Text recognition – Recognition and tracking of
printed text (words)
• Robust tracking – Augmentations stick to the
target and are not easily lost as the device
moves
• Optimizations that ensure better and more
26. Open CV – Computer Vision
OpenCV (Open Source Computer Vision library )
http://opencv.org
It’s a open-source BSD-licensed library
Includes several hundreds of computer vision
algorithms.
It has easy to use Android port called
OpenCV4Android getting very popular nowadays
OpenCV has a modular structure,
It has OpenCV Manager as an Android service
targeted to manage OpenCV library binaries on end
users devices.
27.
28. Main modules of OpenCV
core – Defines basic data structures, like
array Mat and basic
functions used by all other modules.
imgproc - Image processing module that(linear and non-linear
image filtering, geometrical image transformations (resize, affine and
perspective warping, generic table-based remapping), color space
conversion, histograms, and so on.)
video - Video analysis module (motion estimation, background
subtraction, and object tracking algorithms.)
calib3d - basic multiple-view geometry algorithms, single and stereo
camera calibration, object pose estimation, stereo correspondence
algorithms, and elements of 3D reconstruction.
features2d - salient feature detectors, descriptors, and descriptor
matchers.
objdetect - detection of objects and instances of the predefined
classes (for example, faces, eyes, mugs, people, cars, and so on).
highgui - Interface to video capturing, image and video codecs, as
well as simple UI capabilities.
gpu - GPU-accelerated algorithms from different OpenCV modules.
Also like ml(machine learning), objdetect(object detection). etc
29. Few example
Color space conversion
Imgproc.cvtColor(Mat src, Mat dst, int code)
OR
Highgui.imread(String filename, int flags)