4. Outline
● Android platform
● Android ecosystem
● Android SDK and development tools
● Hello World
● Building blocks & the manifest file
● Activities, widgets, intents
● Dialog, toast
5. Android platform
● Linux-based operating system
● open-source
● originally phone OS
● tablet (since Honeycomb)
● Google TV
● hundreds of devices
6.
7. History
● 2003, Android inc.
● 2005 acquired by Google
● 2008 first Android phone – T-Mobile G1
● since then rapid development of the platform
8. Android ecosystem
● the world's most popular mobile platform
● over 850 000 new devices activated each day
● total number of devices ~ 300 million
● play.google.com (market.android.com)
● more than 450 000 applications
● ~ 70% free apps
11. Development
● programming in “Java”
● native apps possible (C++)
● development tools platform friendly
● Windows, Linux, Mac OS X
● IDE support – ADT plugin for Eclipse,
Netbeans, IntelliJ IDEA, ...
16. Android Building Blocks
● Activity
● Service
● Content provider
● Broadcast receiver
● AndroidManifest.xml
17. Activity
● screen with user interface
● the only visual component
● examples:
– list of emails
– email detail
– email composition
18. Service
● runs in background
● long-running tasks
● examples:
– music playback service
– download service
– sync service
19. Content Provider
● manages and shares application data
● data storage doesn't matter – database, web,
filesystem
● apps can query and modify data through
content provider
● read/write permissions can be defined
● examples:
– all system databases
– contacts
– SMS
20. Broadcast Receiver
● responds to broadcasts
● broadcasts are system wide
● can be registered statically or dynamically
● system or custom messages
● examples:
– incoming SMS, incoming call
– screen turned off
– low baterry
– removed SD card
21. AndroidManifest.xml
● defines what parts the app have
● defines which endpoints are exposed
● minimum API level
● permissions
● declare hardware and software features
● required configuration
22. Intent
● asynchronous message
● binds components together (all of them
except ContentProvider)
● starting activities
● starting services and binding to services
● sending broadcasts
23. User Interface
● defined by hierarchy of views
● layouts = containers
– LinearLayout
– RelativeLayout
– FrameLayout
● widgets = UI objects
– Button, TextView, EditText
– WebView
24. Activity Lifecycle
● activities managed in a stack
● activity can be in different states during it's
lifecycle:
– foreground
– visible
– stopped
– killed
25.
26. Intent & Activity
● starting activity explicitly
● starting activity implicitly
● starting activity for result
27. List Widgets
● displays a list of items (some view)
– ListView, Spinner, GridView, Gallery
● use adapter to bind list to data
28. Dialogs and Toasts
● Dialog – displays modal information
– standard dialogs
– custom dialogs
● Toast – non-modal information
– doesn't have user focus