Android development

  • 156 views
Uploaded on

GDG LA Slideshow on Android Development

GDG LA Slideshow on Android Development

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
156
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
  • 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. 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. More than you need to know about Android Architecture
  • 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. 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. Development Tool Options • Android Studio • Android Developer Tools (ADT) • Android Software Development Kit (SDK) • Android Native Development Kit (NDK) • Your Existing IDE
  • 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. Differences in Studio • Project structure stores most files in src directory • Drag-and-Drop Layout designer
  • 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. 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. 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. 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. 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. 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. 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. Services • Used for longer-running operations • Can run in the background when you app is not being used
  • 18. Further Reference • http://developer.android.com • http://www.i-programmer.info/programming/android/5887-android- adventures-getting-started-with-android-studio.html