Android development

200
-1

Published on

GDG LA Slideshow on Android Development

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

  • Be the first to like this

No Downloads
Views
Total Views
200
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android development

  1. 1. Android Development
  2. 2. Prerequisites • Computer (Linux/Mac/Windows) • Java Development Kit (JDK) • Familiarity with Object Oriented Programming (OOP), ideally Java • Familiarity with HTML, XML, Javascript, css • Time and Patience
  3. 3. About Android • World’s most popular mobile platform. • Hundreds of millions of mobile devices in use. • Rapidly growing in emerging markets (nearly 1M per day). • 1.5M App and Game downloads from Google Play each month. (and more from other stores/repositories) • 975,000+ apps (as of 8/13/13) • Part of Open Handset Alliance (Mobile Industry is invested in Android)
  4. 4. More than you need to know about Android Architecture
  5. 5. Developer Benefits • Open source (Apache 2 License) - you have full access to the platform as a developer, device manufacturer, or accessory manufacturer. • Kernel based on Linux • Full Java IDE • Virtual Device Simulator • Extensive Documentation • Open Marketplace (unlike iTunes) • All apps are treated equally (the ones you write and the ones Google creates)
  6. 6. Android 4.3 – Jelly Bean • Bluetooth Smart Ready, Bluetooth AVRCP 1.3 • Restricted Profiles for multi-user devices • Hardware geofencing • Wi-Fi scan-only mode • Game rotation vector • VP8 Encoder • Notification Listener • Built-in Private Keystore • Systrace logging for performance information
  7. 7. Development Tool Options • Android Studio • Android Developer Tools (ADT) • Android Software Development Kit (SDK) • Android Native Development Kit (NDK) • Your Existing IDE
  8. 8. Android Studio • Announced at I/O13 • Based on IntelliJ Idea (www.jetbrains.com) • Gradle-based build system (www.gradle.org) • Works on Mac, Linux, Windows • Requires installation of JDK • Available in “Early Access Preview”… still buggy
  9. 9. Differences in Studio • Project structure stores most files in src directory • Drag-and-Drop Layout designer
  10. 10. Native Apps • Native apps • Written in Java and interact directly with Android for all UI and Logic. • Full access to everything Android. • Better speed, memory, rendering, etc.
  11. 11. Hybrid Apps • Hybrid apps • Written with HTML5, CSS, and Javascript for UI and Logic but are wrapped in a small Java container to interact with Android. • Smaller learning curve (for most people). • Leverage many existing js libraries. • Look and feel wont necessarily be exact same as a Native app. • Easily migrated to other Mobile platforms. • Lose out on access to some Android features.
  12. 12. What is an App • Every app runs in its own process with its own instance of the vm. • Your app can consist of: • Activities • Intents • BroadcastReceivers • Services • ContentProviders
  13. 13. Activities • Each Activity (typically) corresponds to a screen in your app • Stores the logic for your app • Only one Activity is active at a time in your app • Written in Java • Initial Activity is specified in the Manifest • Your app can have multiple Activities • Your app’s activity is typically only live while the user is on viewing your app.
  14. 14. Intents • An intent is request by an App to Android to get an app to do something. • Android then determines the best App for the job or presents the user with a list of available Apps. • This allows you to leverage existing apps to do common tasks (eg Take a picture) instead of writing your own code to do it. • Intents include an action that needs to occur and the data it should occur on. • Explicit intent - You specify what needs to be done and by what class. • Implicit intent – You specify what needs to be done and what to do when it’s over and let the system/user determine what app they want to use.
  15. 15. Standard Intents • ACTION_MAIN • ACTION_VIEW • ACTION_ATTACH_DATA • ACTION_EDIT • ACTION_PICK • ACTION_CHOOSER • ACTION_GET_CONTENT • ACTION_DIAL • ACTION_CALL • ACTION_SEND • ACTION_SENDtO • ACTION_ANSWER • ACTION_INSERT • ACTION_DELETE • ACTION_RUN • ACTION_SYNC • ACTION_PICK_ACTIVITY • ACTION_SEARCH • ACTION_WEB_SEARCH • ACTION_FACTORY_TEST http://developer.android.com/reference/android/content/Intent.html
  16. 16. BroadcastReceivers • Act like listeners that can respond to an Intent that is broadcasted by an application. • Allows your App to takeover from another app. (Open With). • Typically Declared in your Manifest.
  17. 17. Services • Used for longer-running operations • Can run in the background when you app is not being used
  18. 18. Further Reference • http://developer.android.com • http://www.i-programmer.info/programming/android/5887-android- adventures-getting-started-with-android-studio.html
  1. A particular slide catching your eye?

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

×