Android development - the basics, FI MUNI, 2012

  • 932 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
932
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Android Development - the basics Tomáš Kypta @TomasKypta
  • 2. Outline● Android platform● Android ecosystem● Android SDK and development tools● Hello World● Building blocks & the manifest file● Activities, widgets, intents● Dialog, toast
  • 3. Android platform● Linux-based operating system● open-source● originally phone OS● tablet (since Honeycomb)● Google TV● hundreds of devices
  • 4. History● 2003, Android inc.● 2005 acquired by Google● 2008 first Android phone – T-Mobile G1● since then rapid development of the platform
  • 5. Android ecosystem● the worlds 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
  • 6. Problems● fragmentation● manufacturer/carrier enhancements● updates & support● openness – low quality apps● malware (users)
  • 7. Sources● developer.android.com● android-developers.blogspot.com● source.android.com● stackoverflow.com● youtube.com/androiddevelopers● svetandroida.cz
  • 8. 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, ...
  • 9. Android SDK● android – Android SDK and AVD Manager● adb – Android Debug Bridge● ddms – Dalvik Debug Monitor● emulator● hierarchyviewer● ProGuard● Traceview● docs
  • 10. Libraries● compatibility libraries● licensing library● AdMob● Google Analytics, Flurry● C2DM
  • 11. Android internals
  • 12. Hello World
  • 13. Android Building Blocks● Activity● Service● Content provider● Broadcast receiver● AndroidManifest.xml
  • 14. Activity● screen with user interface● the only visual component● examples: – list of emails – email detail – email composition
  • 15. Service● runs in background● long-running tasks● examples: – music playback service – download service – sync service
  • 16. Content Provider● manages and shares application data● data storage doesnt 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
  • 17. 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
  • 18. AndroidManifest.xml● defines what parts the app have● defines which endpoints are exposed● minimum API level● permissions● declare hardware and software features● required configuration
  • 19. Intent● asynchronous message● binds components together (all of them except ContentProvider)● starting activities● starting services and binding to services● sending broadcasts
  • 20. User Interface● defined by hierarchy of views● layouts = containers – LinearLayout – RelativeLayout – FrameLayout● widgets = UI objects – Button, TextView, EditText – WebView
  • 21. Activity Lifecycle● activities managed in a stack● activity can be in different states during its lifecycle: – foreground – visible – stopped – killed
  • 22. Intent & Activity● starting activity explicitly● starting activity implicitly● starting activity for result
  • 23. List Widgets● displays a list of items (some view) – ListView, Spinner, GridView, Gallery● use adapter to bind list to data
  • 24. Dialogs and Toasts● Dialog – displays modal information – standard dialogs – custom dialogs● Toast – non-modal information – doesnt have user focus
  • 25. THE END