D-ANDROID-391-001
Developing Android Applications

Android is a mobile applications platform that has the backing of Open Handset Alliance, which includes Google, Verizon, and other companies. Android platform allows developers to write managed code in the Java language, controlling the device via Java libraries. Android is under the Apache License, a free software and open source license. Android is becoming a major platform for mobile applications due to its rich features and portability: now you can build apps that will work across several devices. The course also covers advanced topics such as creating custom widgets, create animations, working with the camera, using sensors, create and use advanced content providers and much more. The course covers testing and deployment of Android applications.

In this course you will build applications for the Android platform, including:

  • Build a working mobile application
  • Use Android controls, forms, and dialogs
  • Create a local database persist appplication data
  • Use advanced device features such as motion and location-awareness
  • Integrate with other applications such as maps

Description

1       Introduction
  • What is Android?
  • History
  • Android Overview
  • Application Frameworks
  • Android Application Architecture
  • Dalvik VM vs. JVM
2       Developing Mobile Applications
  • Why Mobile?
  • Mobile Development Approaches
  • Mobile Sites
  • Native Mobile Applications
  • Hybrid Mobile Applications
3       Quick Start-First Project
  • Development Overview
  • Installing
    • Android SDK & Tools
    • IDE
    • Developing an Application
      • Project setup
      • Running
        • On the emulator and device
        • Emulator configuration
4       Understanding the Internal Structure
  • Short history and overview
  • Framework overview
  • Android for Mobile, Android for Machines, Android as an OS
5       Applications & Activities
  • Applications
    • Lifecycle
    • Activities
      • Lifecycle
      • Reacting to Configuration Changes
      • Application Manifest
6       User Interfaces & Layouts
  • Introduction to UI
  • Layouts
  • Android Screen Size Diversity
    • Different types of layouts
    • LinearLayout
    • RelativeLayout
    • TableLayout
    • FrameLayout
    • GridLayout
    • Nesting layouts to create complex views
    • Layout Performance
    • Merge and Include with  reusable layouts
7       Views & Basic UI Controls
  • Overview Of UI Elements
  • Common Android Widgets
    • TextView
    • EditText
    • Button
    • RadioButton
    • RadioGroup
    • CheckBox
    • ToggleButton
    • ImageView
    • ImageButton
    • Progress Bar
    • Spinner
    • DatePickerDialog
    • ListView
    • Adapters
    • Toasts
    • Interacting with the widgets
    • References UI Elements in Java
    • Event Listener
8       Fragments
  • What is a Fragment?
  • Fragment Lifecycle
  • Steps for creating fragment
  • Fragment Manager
9       Custom Views & Basic 2D Graphics
  • Custom Views
  • Modify Existing Views
  • Customize Views
  • Compound Views
10    Animations
  • Layout Animations
  • Animations for Activity Transitions
  • Animating Objects
  • AnimationListener
  • Animating the transitions
11    2D Graphics
  • 2D Graphics using
    • ImageView
    • Canvas
12    Dialogs
  • DialogBox Forms
    • AlertDialog
    • Toast
    • Custom Dialogs
13    Connectivity & Networking
  • Android Networking Support Classes
  • Networking Permissions
  • Sockets
  • URL Connections
  • HttpClient
  • JSON
  • Parsing JSON
  • Parsing XML Data
14    Intents
  • What are Intents?
  • What are Intents used for?
  • Making a call
  • Web browser Intent
  • common Intents
  • Intents and Application Components
  • Intent properties
  • Passing Data
  • Returning Data
  • Intents and Bundles
  • Intent Filters
15    BroadcastRecivers
  • Broadcast Receiver
  • Registering
    • Dynamic Registration
    • Static Registration
    • Event Broadcast
    • Normal Broadcast
    • Ordered Broadcast
    • Sticky Broadcast
    • Event Delivery
16    Data Persistence: Files, State Preferences
  • Client Data Persistence
    • Files
    • SharedPreferences
    • SQLite database
17    Services
  • Service
  • Service Class
  • Example Services
    • Logging Service
    • Music Player Service
    • ID Service
    • Implementing a Service
    • AIDL Syntax
    • Implement Remote Methods
    • Implement Service Methods
18    Content Providers
  • ContentProvider
  • ContentResolver
  • Querying
  • Cursor
  • Deleting Data
  • Inserting Data
  • Creating a Content Provider
19    SQLite
  • What is SQLite?
  • SQLite and Android
  • Opening a Database
  • Using a Database
    • Inserting
    • Deleting
    • Querying
    • Examining the Database Remotely
20    Android Threads and Asynchronous Tasks
  • Android Threading
  • Thread Methods
  • Thread Example
  • Implications
  • AsyncTask
  • Handler
21    Notifications & Alerts
  • Notifications
  • Toast Notifications
  • Dialogs
  • Notification Manager
  • Creating Notifications
  • Send Notification
  • Alarm Manager
22    Multimedia
  • MultiMedia Features
    • AudioManager
    • SoundPool
    • RingtoneManager & Ringtone
    • MediaPlayer
    • MediaRecorder
    • Camera
23    TouchGesture
  • MotionEvents
  • Touch Handling
  • Gestures
24    Google Cloud Messaging25    Sensors
  • Sensors
  • SensorManager
26    Location and Maps
  • Location Services
  • Maps
  • Overlay
  • GeoPoint
27    Account Manager
  • Account Manager API

Audience

Developers who aim to develop Android applications

Duration

4.5 Days

Format

Instructor Lead

Prerequisites

Basic Java programming skills, or equivalent OOP language experience