Your SlideShare is downloading. ×
Android Development Slides
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android Development Slides


Published on

These are slides that accompanied a talk on Android application development.

These are slides that accompanied a talk on Android application development.

Published in: Technology

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Welcome... to Google IO 11; ooops... sorry, GTUG welcomes you to the Android launchFriday, May 6, 2011
  • 2. Location: San Francisco, CaliforniaFriday, May 6, 2011
  • 3. nah!! just Kidding...Friday, May 6, 2011
  • 4. Google Uganda - Android Developer Launch Kampala, Uganda May, 2011Friday, May 6, 2011
  • 5. Android Awesomeness Victor Miclovich, Android developer + enthusiast twitter:@vicmiclovich http://thekuyuproject.orgFriday, May 6, 2011
  • 6. Introducing Android Devices Fun and Easy to use communication on the go Online You won’t get lost You can get rid of keysFriday, May 6, 2011
  • 7. Fun and Easy to use Cool graphics lots of power under the hood for gamingFriday, May 6, 2011
  • 8. Key-lessness lose the key pad... new devices designed to be touch- screen compatible; Android takes it a notch higher: multitouchFriday, May 6, 2011
  • 9. Communication Gmail And obviously: Web browser, Basic BT, etc.Friday, May 6, 2011
  • 10. Online connectivity... Android OS is designed to enable device connectivity to the networked worldFriday, May 6, 2011
  • 11. A-O-B very true... Android OS lays out hardware requirements and conditions that phone manufacturers should follow in order to have well optimized operations Lots of power under the hood >>> in comes “App development”Friday, May 6, 2011
  • 12. Application Development $> Assumptions $> Framework $> Piecing the UI together $> Basic networking $> Services (RESTful web service intro)Friday, May 6, 2011
  • 13. Assumptions You’ve read the handout or have it close by to guide you...Friday, May 6, 2011
  • 14. About Android }-*->F-workFriday, May 6, 2011
  • 15. What is a mobile app? a set of user interfaces arranged to form a pattern these patterns tend to accomplish tasks!!!Friday, May 6, 2011
  • 16. How to design an app? Start with an idea Research the idea (ask around: UCD) Concept it (use storyboards, write! write!) Prototype it Start coding Iterate (repeat step 1 or 2)Friday, May 6, 2011
  • 17. Isn’t that easy?Friday, May 6, 2011
  • 18. How? ? ? ? ? ? how?Friday, May 6, 2011
  • 19. Android UIs 2 ways of working magic with apps-->>Friday, May 6, 2011
  • 20. One way is... through a declarative approach...Friday, May 6, 2011
  • 21. Declarative user interface <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/splash" /> </LinearLayout>Friday, May 6, 2011
  • 22. another way is to... examples: *swing use a programmatic approach... *gwt Google advises programmers to choose option 1) why? ->It is cleaner + keeps your code easy to maintain ->In case you make app changes, it is easy to doFriday, May 6, 2011
  • 23. what to do? You’ll use both approaches Declarative approach to describe how something looks or appears such what a button should look like Programmatic approach to give life to the UI component such as a buttonFriday, May 6, 2011
  • 24. user interface design...Friday, May 6, 2011
  • 25. Android UID Views LayoutsFriday, May 6, 2011
  • 26. Views Everything you see through your screen is a viewFriday, May 6, 2011
  • 27. Examples of Views ImageView (image) TextView (text) MapView (to view ButtonView (buttons) maps) ListView (lists) WebView (embedded web + webkit EditView (text boxes) rendering)Friday, May 6, 2011
  • 28. Layouts Organize views group view components togetherFriday, May 6, 2011
  • 29. Examples Layouts LinearLayouts TableLayouts FrameLayout RelativeLayout AbsoluteLayout (using (x,y) coord. system)Friday, May 6, 2011
  • 30. Notes Layouts are resizable (expand with content) expand with the different device sizes (better graphics rendering that supports) Layouts are customizableFriday, May 6, 2011
  • 31. What else in Android? Services that will run in the background Intents and broadcasting (that support in-app notification and instructions) lots of crazy cool stuff... just need to dig deeper than 45 minutes! lol!Friday, May 6, 2011
  • 32. Prerequisites Java programming Read the handout watch out for things like the application life cycle, etc. Ask questions at the endFriday, May 6, 2011
  • 33. CodeFriday, May 6, 2011
  • 34. Layout parameters Specify the way layouts appear Basically in your xml files: android:layout_height = “ <some height>” android:layout_width = “ <some width>”Friday, May 6, 2011
  • 35. ¿Tip! When looking thru’ documentation, start with the specific less abstract view/class or layout then look at what it inherits from parent classFriday, May 6, 2011
  • 36. App components (java classes) analogous to a screen Activities respond to broadcast intents/ BroadcastReceivers msgs Services ContentProviders tasks that run in the background apps can share dataFriday, May 6, 2011
  • 37. ActivitiesFriday, May 6, 2011
  • 38. an activity (-ies) a UI screen or what appears before the user as whole An Activity is also a java class Activities can also be faceless in a floating window just return a value (boolean or other)Friday, May 6, 2011
  • 39. IntentsFriday, May 6, 2011
  • 40. Intents Intents help describe what you want done (verb words + objects) Pick photo from album Delete music Make a call Android matches Intent with Activity (object) that can best provide a serviceFriday, May 6, 2011
  • 41. NoteActivities and BroadcastReceivers describe what intents they can service in their IntentFilters through the AndroidManifest.xml fileFriday, May 6, 2011
  • 42. BroadcastReceiversFriday, May 6, 2011
  • 43. BroadcastReceivers components designed to respond to Broadcast Intents also, apps can create and broadcast their own Intents as well.Friday, May 6, 2011
  • 44. ServersFriday, May 6, 2011
  • 45. Services These are components that run in the background... A music player keeps running even when you choose to start looking through your gallery You can type a message while listening to music Download a pdf while browsing Youtube etc.Friday, May 6, 2011
  • 46. ContentProvidersFriday, May 6, 2011
  • 47. ContentProviders A ContentProvider enables sharing of data across different apps some apps can poll the address book an app could use your gallery photos, etc. Provides a single unified API for CRUD operations Content is represented by a URI and MIME typeFriday, May 6, 2011
  • 48. Other issues of great importance...Friday, May 6, 2011
  • 49. Persisting data Some apps need to cache or store data inside of the phone (email, messages, attachments via bluetooth, etc.) Android provides a couple of ways to store your data as a flat file in a database (SQLite)Friday, May 6, 2011
  • 50. Note There are lots of useful APIs to interact with the database, file system, etc. Android is powerful and quite large Look around to see what you can do with it...Friday, May 6, 2011
  • 51. Going forward...Friday, May 6, 2011
  • 52. Packaging Android apps are packaged in .apk files Everything needed to run your app is found in the apk It also includes your application manifest file (where permissions for activities and other predefined settings are saved up) {look at handout for more info in app}Friday, May 6, 2011
  • 53. Resources Android defines resources an app uses in the res/ folder res/layout (contains layout rules) res/drawable (for drawing) res/anim (for animations your app might need) res/values (externalized values for strings, colors, styles and lots more) res/xml (general xml files that are needed at run time such as a settings.xml file, etc.) res/raw (binary files like sound are defined in there)Friday, May 6, 2011
  • 54. AssetsFriday, May 6, 2011
  • 55. Assets A lot similar to resources (from slides before) Any kind of file can be stored (make sure it doesn’t complete the SD card memory or other) Differences are: assets are read only InputStream class (methods) access assetsFriday, May 6, 2011
  • 56. The Networked world...Friday, May 6, 2011
  • 57. so much to say... Trending way of development use an API to expose a service your mobile app can use Your app can persist data in a database if network is unavailable Apps are so much fun when connected to the InternetFriday, May 6, 2011
  • 58. The End... More might come in the future, (coming soon) vicmiclovich{at}gmail.comFriday, May 6, 2011