The document provides information about Android development training offered by EXPERTS Training & Solutions. It introduces the trainer, Abdullah Rizwan, and gives an overview of EXPERTS including its founding, locations, and certifications. It then discusses reasons for mobile app development like market growth. The rest of the document outlines Android fundamentals, the development process, and publishing apps. It emphasizes designing responsive apps that leverage the web and cloud to be fast and seamless.
2. About Me!
Abdullah Rizwan
BS(CS)
Computer programming since 1998 (15 Years of experience)
Worked in Ericsson (Sweden), BHP Billiton
(Australia), NADRA, EXPERTS
Many Local & International Projects
Visits many countries
A lovely wife and three cute kids
Email: arizwan@expertspk.com
Cell: +92(321)6694784
Facebook: arizwanEXP
3. EXPERTS Training & Solutions
Founded in 2001 (A pioneer IT institute) by Irfan Zafar
Private Limited in 2008
Two campus in Faisalabad {Satiana Road & Raja
Road, Gulistan Colony}
One Office in Lahore Johar Town
Foreign Offices, Global Presence.
Microsoft IT Academy
Cisco Network Academy
Certiport Testing Center
Prometric Testing Center
4. Why Mobile App
Development?
The fact that we can!
Mobile platform is the platform of the future
Double-digit growth in world-wide smartphone ownership
Job market is hot
Market for mobile software surges from $4.1 billion in 2009
to $17.5 billion by 2012
2010 Dice.com survey: 72% of recruiters looking for iPhone
app developers, 60% for Android
Dice.com: mobile app developers made $85,000 in 2010
and salaries expected to rise
Students (and faculty!) are naturally interested!
5. Mobile Applications
What are they?
Any application that runs on a mobile device
Types
Web apps: run in a web browser
HTML, JavaScript, Flash, server-side components, etc.
Native: compiled binaries for the device
Often make use of web services
6. Mobile Devices: Advantages
Always with the user
Typically have Internet access
Typically GPS enabled
Typically have accelerometer & compass
Most have cameras & microphones
Many apps are free or low-cost
Interesting Advantages
7. Mobile Devices:
Disadvantages
Limited screen size
Limited battery life
Limited processor speed
Limited and sometimes slow network access
Limited or awkward input: soft keyboard, phone
keypad, touch screen, or stylus
Limited web browser functionality
Range of platforms & configurations across devices
8. What is Android?
Android is a Linux-based operating system
Designed for touchscreen mobile devices i.e. smartphones
and tablet computers.
Initially developed by Android, Inc.
Android is open source and Google releases the code under
the Apache License.
Apps written primarily in a customized version of the Java
programming language
It has seen additional applications on
laptops, netbooks, smartbooks, smart TVs (Google
TV), cameras, smart glasses (Google
Glass), wristwatches, headphones, car CD/DVD
players, mirrors, portable media players, landlines, Voice
over IP phones, Videogames
console, Android@Home, microwave ovens and other
electronics.
9. What is Android?
A software stack for mobile devices that
includes
An operating system
Middleware
Key Applications
Uses Linux to provide core system services
Security
Memory management
Process management
Power management
Hardware drivers
http://www.android.com/whatsnew/
10. Market Share
Second quarter 2009: 2.8%
Forth quarter 2010: 33%
Third quarter 2011: 52.5%
Third quarter of 2012: 75%
Activation 750 million devices
1.5 million activations per day.
October 2012:
Total Apps in Google Play ~700,000
Downloads from Google Play ~25 billion.
May 2013
Activation 900 million devices
Downloads from Google Play ~48 billion.
11. Apple vs. Google
Open Handset Alliance
80+ technology companies
Commitment to openness, shared vision, and concrete
plans
Compare with Mac/PC battles
Similar (many PC manufacturers, one Apple)
Different (Microsoft sells Windows, Google gives away
Android)
12. History
Android, Inc. was founded in Palo Alto, California in
October 2003 by Andy Rubin, Rich Miner, Nick Sears and
Chris White
"smarter mobile devices that are more aware of its owner's
location and preferences"
Bought by Google in 2005
In September 2007 Google had filed several patent
applications in the area of mobile telephony
November 5, 2007: Open Handset Alliance: a consortium of
hardware, software, and telecommunication companies
devoted to advancing open standards for mobile devices.
84 Members starting from 34 members and Android was
unveiled.
The first commercially available phone to run Android was
the HTC Dream, released on October 22, 2008
13. Versioning
Each major release is named in alphabetical order after
a dessert or sugary treat; for example, version 1.5
Cupcake was followed by 1.6 Donut. The latest release
is 4.2 Jelly Bean.
Google provides major updates, incremental in
nature, to Android every six to nine months.
The lack of after-sale support from manufacturers and
carriers has been widely criticized
CyanogenMod is the most widely used community
firmware
http://socialcompare.com/en/comparison/android-
versions-comparison
15. Interface
Android's user interface is based on direct
manipulation, using touch inputs that loosely
correspond to real-world actions, like
swiping, tapping, pinching and reverse pinching
Internal hardware such as accelerometers, gyroscopes
and proximity sensors, can be used
Android homescreens are typically made up of app icons
and widgets
The top of the screen is a status bar, showing
information about the device and its
connectivity, notification area
17. Linux
Android based on Linux kernel version 2.6 ; Android 4.0 Ice Cream Sandwich on version 3.x
Middleware, libraries and APIs written in C
Application software running on Java-compatible libraries based on Apache Harmony.
Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik
Executable).
Hardware platform is the ARM architecture. Support for x86 from the Android-x86 project.
Google TV uses a special x86 version of Android.
Intel processors began to appear on more mainstream Android platforms, such as phones.
Android does not have a native X Window System by default nor does it support the full set of standard
GNU libraries.
Google contributed back to the Linux kernel, e.g power management feature called "wakelocks"
The flash storage on Android devices is split into several partitions, such as "/system" for the operating
system itself and "/data" for user data and app installations.
No root access to the operating system and sensitive partitions such as /system are read-only.
Whether or not Android counts as a Linux distribution
18. Memory management
When an Android app is no longer in use, the system will
automatically suspend it in memory
Suspended apps consume no resources (e.g. battery power
or processing power) and sit idly in the background until
needed again.
This has the dual benefit of increasing the general
responsiveness of Android devices, since apps don't need to
be closed and reopened from scratch each time, but also
ensuring background apps don't waste power needlessly.
Android manages the apps stored in memory automatically:
when memory is low, the system will begin killing apps and
processes that have been inactive for a while
19. Security and Privacy
Android applications run in a sandbox, an isolated area of
the system that does not have access to the rest of the
system's resources, unless access permissions are explicitly
granted by the user when the application is installed.
Google currently uses their Google Bouncer malware
scanner to watch over and scan the Google Play store apps
Android version 4.2 Jelly Bean includes a malware scanner
built into the system. It can scan apps installed from google
play and 3rd party sources as well, and an alert system
which notifies the user when an app tries to send a
premium-rate text message.
Android smartphones have the ability to report the location
of Wi-Fi access points
20. Intellectual property issues
On August 12, 2010, Oracle sued Google related to the Java. ($6.1
billion)
Android is based on Apache Harmony, an independently developed
VM called Dalvik.
In May 2012, Structure of the Java APIs used by Google was not
copyrightable.
Both Apple and Microsoft have sued several manufacturers for
patent infringement
In October 2011, Microsoft signed patent license agreements with
ten Android device manufacturers, whose products account for 55%
of the worldwide revenue for Android devices. These include
Samsung and HTC.
In 2011–12, Google purchased Motorola Mobility for US$12.5 billion
it held more than 17,000 patents.
In December 2011, Google bought over a thousand patents from
IBM.
21. Development
Applications are developed in the Java language using the
Android software development kit (SDK). It includes
development tools, such as debugger, software libraries, a
handset emulator based on QEMU, documentation, sample
code, and tutorials.
The officially supported integrated development
environment (IDE) is Eclipse using the Android Development
Tools (ADT) plugin.
Other development tools are available, including a Native
Development Kit for applications or extensions in C or C++
App Inventor The application was made available through
request on July 12, 2010, and released publicly on
December 15, 2010. Google terminated App Inventor on
December 31, 2011. The MIT Center for Mobile Learning is
now supporting it under the name "MIT App Inventor".
23. Android Apps
Built using Java and new SDK libraries
No support for some Java libraries like Swing & AWT
Oracle currently suing Google over use
Java code compiled into Dalvik byte code (.dex)
Optimized for mobile devices (better memory
management, battery utilization, etc.)
Dalvik VM runs .dex files
24. Build & Run
ADB is a client server program that connects clients on
developer machine to devices/emulators to facilitate
development.
An IDE like Eclipse handles this entire process for you.
25. Applications Are Boxed
By default, each app is run in its own Linux process
Process started when app’s code needs to be executed
Threads can be started to handle time-consuming
operations
Each process has its own Dalvik VM
By default, each app is assigned unique Linux ID
Permissions are set so app’s files are only visible to that
app
http://developer.android.com/reference/android/Manifes
t.permission.html
http://developer.android.com/reference/android/Manifes
t.permission_group.html
26.
27. Publishing and Monetizing
Paid apps in Android Market, various other markets
Free, ad-supported apps in Android Market
Ad networks (Google AdMob, Quattro Wireless)
Sell your own ads
Online Services
Elance, Rent-a-coder etc
Contests (Android Developer Challenge)
Selling products from within your app
28. Google Play
https://play.google.com/
Has various categories, allows ratings
Have both free/paid apps
Featured apps on web and on phone
The Android Market (and iTunes/App
Store) is great for developers
Level playing field, allowing third-party apps
Revenue sharing
29. Publishing to Play
Requires Google Developer Account
$25 fee
Link to a Merchant Account
Google Checkout
Link to your checking account
Google takes 30% of app purchase price
30. Android Design Philosophy
Applications should be:
Fast
Resource constraints: <200MB RAM, slow processor
Responsive
Apps must respond to user actions within 5 seconds
Secure
Apps declare permissions in manifest
Seamless
Usability is key, persist data, suspend services
Android kills processes in background as needed
31. Leveraging the web
To keep your apps fast and responsive, consider how you
can leverage the web
What ____________ can be ________ on a server or in the
cloud?
Tasks/performed
Data/persisted
Data/retrieved
Beware, data transfer is also expensive and can be slow
32. What’s Next
http://developer.android.com/
EXPERTS Training & Solutions
2 Months
2 Sessions per week
15,000 Fee Package
Highlights
Input
Gestures, Sensors, Camera, GPS, Location/Maps, Web
Services, SMS, Mic/ Speakers, Phone, Internet etc