Introduction to Mobile Application Development on Android

Post on 24-Jan-2015

1.792 views 1 download

description

 

Transcript of Introduction to Mobile Application Development on Android

Introduction to Mobile Application Development on

Android

Julian Shen

What’s th

is?A bird?

A plane?Not a Super man

either

Smart Phone

4

•Make a phone call

• Surfing internet

•Manage your schedule

• .....

A smart phone can

5

Who uses smart phone?

Geeks?

Students?

Business man?

Young guys?

Everybody could own oneThanks to Apple and iPhone

So...now you may know

Why should you develop a mobile

application?

It’s fun

Full of challengesMany people in the world may use it

Become famous? Maybe

把妹 ?!最好是把的到 !Make money

What’s your target users?

EverybodyKnowing your users well

But, there is one more thing you

should know

11

It’s a phone not a PC

• Less memory, less computing power

• Battery is its food

• Internet connection is not always on and stable

• Some operations cost user money

• Lot of hardware combination

• Different screen size

• With/without GPS

• Capacitive/Resistive/No touch screen

• ....

Application design philosophy

13

What is a good mobile

application?

•Decent user interface

•Better performance

•Consume less power

14

A Good User Interface

•Should be pretty but not only pretty

•Should be also

•Reasonable

•Predictable

•Responsive

•Easy to operate by fingers

15

What you should avoid

• Complex and meaningless gestures

• Meaningless animations

• Inconsistent UI behaviors

• Too many operating steps

• Hidden steps

• Long run logic in UI thread

• Block user (Progress dialog is not so good)

• Any assumption

16

Performance

•Always think about the worst case

•IO costs

•Network is slow

•Long run (or busy) process consumes battery

•Background is good but also evil

You don’t like to see this

Introduction to Android

20

Android is

•A mobile platform

•A Google’s product

•Linux + Java

•Source is available to public

21

Version History•1.0 - Sep 2008

•1.1 - Feb 2009

•1.5 Cupcake - April 2009

•1.6 Donut - Sep 2009

•2.0/2.1 Eclair - Oct 2009 (2.0), Jan 2010 (2.1)

•2.2 Froyo - May 2010

•2.3(?) Gingerbread - 2010(?)

Architecture

23

Application Fundamentals

• By default, every application runs on its own process

• Applications could share process

• Each process has its own JVM

• By default, each application has a unique Linux UID

• It’s possible to share same UID for two different application

• Every process has its own memory limit

24

Application Components

•Activities

•Services

•Broadcast receivers

•Content providers

What you need before developing

an Android application?

JAVA

Eclipse

Android SDK and ADT

Get it from http://www.android.com

SDK documentRead it online : http://www.android.com

What else you might be

interested?

Android Open Source

Check how to get it from http://source.android.com

32

Why you might need Android

sources?•Android document sucks

•Trust no one! Truth is in the sources

•Many applications could be taken as examples

33

Other way to develop

•Adobe AIR

•HTML

First step to Android

35

Create an Android project

•Specify project name

•Target platform

•Application properties

•Every application with UI starts from an Activity

View Hierarchy

37

Layout

•Create a new layout

•Add a button

•Assign an ID to this button

•Add on click action to this button

•Loading layout resource

•Accessing button from codes

38

Application Resources

•Layout

•Drawables

•Strings

•Colors

•Styles

•...

39

Run and Debug

•Create an AVD

•Run application

•Using DDMS

•Check UI hierarchy from hierarchy viewer

Traceview

May force be with you