Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Starting with Android

A Presentation on "Starting with Android" arranged by BDOSN (Bangladesh Open Source Network) on Gono Bishwabidyalay, Savar, Dhaka
by

Nazmul Hasan Rupok

on 8 March 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Starting with Android

Nazmul Hasan Rupok
Starting with Android
Who Am I..?
Android Timeline
Trends in Smartphone Usage
Inside Scoop!
What is Android
Architecture
Developing for Android
Pre-requisites
Development Phase
Publishing
Why Develop for Android?
Founder & Lead Developer, Codetic
2005
2007
2008
2009
2010
2011
2012
Andy Rubin
2003
Palo Alto, California
October 2003
Rich Miner
Nick Sears
Chris White
Android Inc. was founded
"...smarter mobile devices that are
more aware of its owner's location
and preferences"
acquired Android
Android 1.0
1.5
1.6
2.0/2.1
operated in secret
Cupcake
Donut
Eclair
2.2
Froyo
2.3
Gingerbread
Android 3.0
Honeycomb
Android 4.0
Ice Cream Sandwich
Suggested Resources
Head First Android
Pro Android 4 Application Development
Android Developers Guide
simple and powerful SDK
support from industrial giants
no licensing fees
excellent documentation
thriving developer community
JDK 6 (
oracle.com
)
Android SDK (
developer.android.com/sdk
)
Eclipse 3.6 (
eclipse.org/downloads
)
ADT Plugin
Dalvik Virtual Machine
Java Source Code
Java Byte Code
Dalvik Executable
process virtual machine that runs an app per instance
register-based virtual machine
optimized to ensure that a device can run multiple instances efficiently
Android was built for developers
unlimited hardware access
Software Development Kit
Application Components
Application Resources
Application Design Principles
Not a programming tutorial
Inspire more Android devs
What Android
IS
/
NOT
Development requirements
Basic concepts
Independent Distribution
Activities
Services
Broadcast Receivers
Android Manifest
opensource
multiple distribution channel
Android IS...
Android is NOT...
a Java ME implementation
runs on a Dalvik VM
runs on Java VM
custom implementation of the Java libraries
a simple application layer
complete development platform
a mobile phone brand
a device (not necessarily a mobile phone) that runs on an Android platform
Aug 17, 2005
Sept
HTC Dream
T1-Mobile G1
first Android phone released
Feb
April
Sept
May
Dec
Feb
Oct
March
Rebranded Google Market to
Oct
Open Handset Alliance
composed of mobile operators, software companies, and handset manufacturers
a consortium of 84 firms aimed at developing open standards for mobile devices
Pre-development Phase
Android API
Development tools
Emulator
Documentation
Sample codes
Java package
Application Components
Permissions
Minimum Android API
Required libraries
The API provides (and encourages) resource externalization
externalizing a resource enables the app to support multiple device configuration
resources are referenced through the "
R
" class
Animation
Color State List
Drawable
Layout
Menu
String
Style
Values
Boolean
Color
Dimension
Integer
Array
Activity
a single, focused thing that the user can do
interacts with the user
takes care of creating a window for you to place your
View
(s)
Service
an application component that can perform long-running operations in the background
does not provide a user interface
no direct user interaction involved
ContentProvider
provides data to other applications
required if you need to share data between multiple applications
performance
seamlessness
responsiveness
security
Nov
Established OHA
Post-development Phase
Content Providers
BroadcastReceiver
receive Intents send by a broadcast
Android's way of sending events across multiple applications
could be registered in the AndroidManifest.xml file or in Java code
SQLite Database
User Configuration
Tools:
Technical Requirements:
Technology for Non-native App
Java Compiler
Dalvik Compiler
(http://developer.android.com)
Java Resources
Head First Java
Effective Java
Pre-requisites
Project Structure
Activity Lifecycle
Activity States
Active
Paused
Stopped
www.sencha.com/products/touch
phonegap.com
Monetizing Android Apps
Android users want apps for free
advertisements
in-app purchases
subscription
support business operations
don't do work that you don't need to do
don't allocate memory if you can avoid it
mobile devices have limited computing power and storage
battery life is important to users
avoid exposing internal files
do not store sensitive information in external storage
when the app is not responsive enough
Android triggers ANR...
ANR is triggered on the following conditions:
No response from an input event within 5 seconds
A BroadcastReceiver hasn't finished executing within 10 seconds
show progress for long-running processes
delegate long running processes to a different thread
users find it annoying when apps freeze or display the ANR dialog
use ContentProviders to expose data
don't drop data
don't interrupt the user
delegate long running processes to threads
extend system themes
design your UI to work with multiple screen resolutions
assume that the network is slow
www.rupok.me
Founder & Lead Developer
Nazmul Hasan Rupok
App Types
Native App
Non-Native App
http://www.appcelerator.com/titanium/titanium-studio/
Any Question?
June
Jelly Bean
2013
Android KitKat
http://developer.android.com/sdk/index.html
ADT Bundle
Full transcript