This slides contains overview of android development for beginners.
I created this for the students of CCA Cebu
Special thanks to Larry Walters's presentation from which I also refer.
2. What is Android?
Android is an open mobile phone platform that was
developed by Google and later by Open Handset
Alliance. Google defines Android as a "software
stack" for mobile phones.
Software stack is made up of operating system(the
platform on which everything runs), the middleware
(the programming that allows applications to talk to a
network and to one another) and the applications
(the actual programs that phone will run)
3. Brief History
July 2005 - Google Inc. bought from Danger In
Open Handset Alliance was formed headed by Google
which is composed of companies like Intel, T-Mobile,
Spring Nextel and more.
In 2008, Android became available as an open source
and ASOP(Android Open Source Project) is
responsible for maintaining and development of
android.
February 2009, the first android version was released,
Android 1.1. for Mobile G1.
8. Android Development Tool
Android SDK and Virtual Device Manager
Android Emulator / Phone
Dalvik Debug Monitoring Service
SQLite3
…more
9. Application Components
Activity
• Present a visual user interface for one focused endeavor the user can undertake
• Example: a list of menu items users can choose from
Services
• Run in the background for an indefinite period of time
• Example: calculate and provide the result to activities that need it
Broadcast Receivers
• Receive and react to broadcast announcements
• Example: announcements that the time zone has changed
Content Providers
• Store and retrieve data and make it accessible to all applications
• Example: Android ships with a number of content providers for common
Intents
• Hold the content of a message
• Example: convey a request for an activity to present an image to the user or let the
user edit some text
11. Services
• Run in the background
o Can continue even if Activity that started it dies
o Should be used if something needs to be done while the user
is not interacting with application
Otherwise, a thread is probably more applicable
o Should create a new thread in the service to do work in, since
the service runs in the main thread
• Can be bound to an application
o In which case will terminate when all applications bound to it
unbind
o Allows multiple applications to communicate with it via a
common interface
• Needs to be declared in manifest file
• Like Activities, has a structured life cycle
13. Project Components
SRC
• The project source code
GEN
• Auto generated code
• Example: R.java
Included libraries
Resources
• Drawables
• Layout
• Values like strings
Manifest File
• A must have xml file. Contains essential information about the
system to the android system
14. XML
• Used to define some of the resources
o Layouts (UI)
o Strings
• Manifest file
• Shouldn’t usually have to edit it directly,
Eclipse can do that for you
• Preferred way of creating UIs
o Separates the description of the layout from any
actual code that controls it
o Can easily take a UI from one platform to another
15. R Class
• Auto-generated: you shouldn’t edit it
• Contains IDs of the project resources
• Enforces good software engineering
• Use findViewById and Resources object to
get access to the resources
o Ex. Button b = (Button)findViewById(R.id.button1)
o Ex. getResources().getString(R.string.hello));
16. Layouts
• Eclipse has a great UI creator
o Generates the XML for you
• Composed of View objects
• Can be specified for portrait and landscape
mode
o Use same file name, so can make completely
different UIs for the orientations without modifying
any code
18. Layouts - continuation
• Click ‘Create’ to make layout modifications
• When in portrait mode can select ‘Portrait’ to make
a res sub folder for portrait layouts
o Likewise for Landscape layouts while in landscape mode
o Will create folders titled ‘layout-port’ and ‘layout-land’
• Note: these ‘port’ and ‘land’ folders are examples of
‘alternate layouts’, see here for more info
o http://developer.android.com/guide/topics/resources/providing-resources.html
• Avoid errors by making sure components have the
same id in both orientations, and that you’ve tested
each orientation thoroughly
20. Running in Eclipse
• Similar to launching a regular Java
app, use the launch configurations
• Specify an Android Application and create
a new one
• Specify activity to be run
• Can select a manual option, so each time
program is run, you are asked whether you
want to use the actual phone or the
emulator
o Otherwise, it should be smart and use whichever
one is available