Your SlideShare is downloading. ×
0
Welcome... to Google IO 11; ooops...                                       sorry,                      GTUG welcomes you t...
Location: San Francisco, CaliforniaFriday, May 6, 2011
nah!! just Kidding...Friday, May 6, 2011
Google Uganda - Android Developer Launch                             Kampala, Uganda                                 May, ...
Android Awesomeness          Victor Miclovich, Android developer + enthusiast          twitter:@vicmiclovich          http...
Introducing Android Devices                Fun and Easy to use                communication on the go                Onlin...
Fun and Easy to use                      Cool graphics                                      lots of power under the hood f...
Key-lessness    lose the key pad... new devices designed to be touch-      screen compatible; Android takes it a notch hig...
Communication                      Gmail And obviously: Web browser,   Basic BT,      etc.Friday, May 6, 2011
Online connectivity...   Android OS is designed to enable device     connectivity to the networked worldFriday, May 6, 2011
A-O-B                                                            very true... Android OS                                  ...
Application Development          $> Assumptions          $> Framework          $> Piecing the UI together          $> Basi...
Assumptions                You’ve read the                handout or have it                close by to guide you...Friday...
About Android }-*->F-workFriday, May 6, 2011
What is a mobile app?         a set of user interfaces arranged to form a pattern                      these patterns tend...
How to design an app?                Start with an idea                Research the idea (ask around: UCD)                ...
Isn’t that easy?Friday, May 6, 2011
How?                        ?                        ?                        ?                        ?                  ...
Android UIs                      2 ways of working magic with apps-->>Friday, May 6, 2011
One way is...                through a declarative approach...Friday, May 6, 2011
Declarative user interface                      <?xml version="1.0" encoding="utf-8"?>                      <LinearLayout ...
another way is to...                                                  examples:                                           ...
what to do?                You’ll use both approaches                      Declarative approach to describe how something ...
user interface design...Friday, May 6, 2011
Android UID                      Views                      LayoutsFriday, May 6, 2011
Views                Everything you see through your screen is a viewFriday, May 6, 2011
Examples of Views                                        ImageView (image)                TextView (text)         MapView ...
Layouts                Organize views                group view components togetherFriday, May 6, 2011
Examples Layouts                LinearLayouts                TableLayouts                FrameLayout                Relati...
Notes                Layouts are resizable (expand with content)                      expand with the different device siz...
What else in Android?                Services that will run in the background                Intents and broadcasting (tha...
Prerequisites                Java programming                Read the handout                      watch out for things li...
CodeFriday, May 6, 2011
Layout parameters                Specify the way layouts appear                Basically in your xml files:                ...
¿Tip!              When looking thru’ documentation, start with the              specific less abstract view/class or layou...
App components (java classes)                                     analogous to a screen                Activities         ...
ActivitiesFriday, May 6, 2011
an activity (-ies)                a UI screen or what appears before the user as whole                An Activity is also ...
IntentsFriday, May 6, 2011
Intents                Intents help describe what you want done (verb words                + objects)                     ...
NoteActivities and BroadcastReceivers describe what intents    they can service in their IntentFilters through the        ...
BroadcastReceiversFriday, May 6, 2011
BroadcastReceivers                components designed to respond to Broadcast Intents                also, apps can create...
ServersFriday, May 6, 2011
Services                These are components that run in the background...                      A music player keeps runni...
ContentProvidersFriday, May 6, 2011
ContentProviders                A ContentProvider enables sharing of data across                different apps            ...
Other issues of great importance...Friday, May 6, 2011
Persisting data                Some apps need to cache or store data inside of the                phone (email, messages, ...
Note                There are lots of useful APIs to interact with the                database, file system, etc.          ...
Going forward...Friday, May 6, 2011
Packaging                Android apps are packaged in .apk files                Everything needed to run your app is found ...
Resources                Android defines resources an app uses in the res/ folder                      res/layout (contains...
AssetsFriday, May 6, 2011
Assets                A lot similar to resources (from slides before)                Any kind of file can be stored (make s...
The Networked world...Friday, May 6, 2011
so much to say...                Trending way of development                      use an API to expose a service your mobi...
The End...                                More might come in the future,                      http://cwezi.com/trainings (...
Upcoming SlideShare
Loading in...5
×

Android Development Slides

2,735

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,735
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
65
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Android Development Slides"

  1. 1. Welcome... to Google IO 11; ooops... sorry, GTUG welcomes you to the Android launchFriday, May 6, 2011
  2. 2. Location: San Francisco, CaliforniaFriday, May 6, 2011
  3. 3. nah!! just Kidding...Friday, May 6, 2011
  4. 4. Google Uganda - Android Developer Launch Kampala, Uganda May, 2011Friday, May 6, 2011
  5. 5. Android Awesomeness Victor Miclovich, Android developer + enthusiast twitter:@vicmiclovich http://cwezi.com http://mspoti.com http://storyspaces.org http://thekuyuproject.orgFriday, May 6, 2011
  6. 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. 7. Fun and Easy to use Cool graphics lots of power under the hood for gamingFriday, May 6, 2011
  8. 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. 9. Communication Gmail And obviously: Web browser, Basic BT, etc.Friday, May 6, 2011
  10. 10. Online connectivity... Android OS is designed to enable device connectivity to the networked worldFriday, May 6, 2011
  11. 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. 12. Application Development $> Assumptions $> Framework $> Piecing the UI together $> Basic networking $> Services (RESTful web service intro)Friday, May 6, 2011
  13. 13. Assumptions You’ve read the handout or have it close by to guide you...Friday, May 6, 2011
  14. 14. About Android }-*->F-workFriday, May 6, 2011
  15. 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. 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. 17. Isn’t that easy?Friday, May 6, 2011
  18. 18. How? ? ? ? ? ? how?Friday, May 6, 2011
  19. 19. Android UIs 2 ways of working magic with apps-->>Friday, May 6, 2011
  20. 20. One way is... through a declarative approach...Friday, May 6, 2011
  21. 21. Declarative user interface <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/ 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. 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. 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. 24. user interface design...Friday, May 6, 2011
  25. 25. Android UID Views LayoutsFriday, May 6, 2011
  26. 26. Views Everything you see through your screen is a viewFriday, May 6, 2011
  27. 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. 28. Layouts Organize views group view components togetherFriday, May 6, 2011
  29. 29. Examples Layouts LinearLayouts TableLayouts FrameLayout RelativeLayout AbsoluteLayout (using (x,y) coord. system)Friday, May 6, 2011
  30. 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. 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. 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. 33. CodeFriday, May 6, 2011
  34. 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. 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. 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. 37. ActivitiesFriday, May 6, 2011
  38. 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. 39. IntentsFriday, May 6, 2011
  40. 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. 41. NoteActivities and BroadcastReceivers describe what intents they can service in their IntentFilters through the AndroidManifest.xml fileFriday, May 6, 2011
  42. 42. BroadcastReceiversFriday, May 6, 2011
  43. 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. 44. ServersFriday, May 6, 2011
  45. 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. 46. ContentProvidersFriday, May 6, 2011
  47. 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. 48. Other issues of great importance...Friday, May 6, 2011
  49. 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. 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. 51. Going forward...Friday, May 6, 2011
  52. 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. 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. 54. AssetsFriday, May 6, 2011
  55. 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. 56. The Networked world...Friday, May 6, 2011
  57. 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. 58. The End... More might come in the future, http://cwezi.com/trainings (coming soon) vicmiclovich{at}gmail.comFriday, May 6, 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×