Android Programming

 

 

 

Android Programming Training Class Summary

This intensive, hands-on five-day course teaches programmers how to develop activities, services, content providers, and broadcast receivers for the Android platform. Students will first learn how to create activities using views, layouts, fragments, dialogs, and menus. Next, they will learn about intents, broadcast receivers, and services. Coverage of data storage is next with chapters on preferences, files, SQLite, data adapters, and content providers. Finally, the course ends with coverage of location-based services and application publishing. This course is focused on Android 4.2 – Jelly Bean.

Audience: Programmers who are new to developing applications for the Android platform.

Prerequisites: Introduction to Java or equivalent experience is required. Basic understanding of XML is required.

Class Length: 5 days

Android Programming Training Class Objectives
  • Create an Android application.
  • Create an activity and manage its lifecycle.
  • Access resources programmatically to optimize maintenance and localization.
  • Create full-featured graphical user interfaces with widgets, dialogs, menus, and event handlers.
  • Contrl the organization of your screen with layouts.
  • Design flexible user interfaces for multiple form factors using fragments.
  • Communicate between applications in a loosely-coupled way with intents.
  • Create a service to handle background tasks and use notifications to indicate the status of those tasks.
  • Persist application state using preferences, files, and SQLLite.
  • Use both ArrayAdapter and CursorAdapter to bind data to widgets.
  • Share data with other applications with content providers.
  • Use the LoaderManager and CursorLoaders to display provider data.
  • Access Contacts and other built-in Android providers.
  • Determine the current location and leverage Google Maps.
  • Publish an application to an Android device.
Android Programming Training Class Detailed Outline
  1. Course Introduction
    • Course Objectives
    • Course Overview
    • Using the Workbook
    • Suggested References
  2. Getting Started
    • Android Overview
    • Android Architecture
    • The Dalvik VM
    • Android Components
    • Android Installation
    • SDK Platform-tools and the SDK Manager
    • Eclipse and the ADT Plugin
    • A Simple Android Application
    • The Android Emulator
    • User Interface Layouts
    • Android Event Handlers
    • LogCat
  3. Activities
    • Activities
    • Creating an Activity
    • Activity Lifecycle
    • Callback Methods
    • Resource Conservation
    • Intents
    • AndroidManifest.xml
    • Packaging
  4. Resources
    • Alternative Resources
    • R.java
    • String Resources
    • StringArrays
    • Boolean and Integer Resources
    • Color and Dimension Resources
    • Style Resources
    • Image Resources
    • System Resources
    • Localization
    • Format Strings
  5. Views and Event Handlers
    • Views and ViewGroups
    • Common Properties
    • Text View
    • Edit Text
    • TextChanged Events
    • Button
    • Check Box and Toggle Button
    • Radio Group and Radio Buttons
    • DatePicker
    • ProgressBar and RatingBar
    • Threads and Handlers
    • AsyncTask
  6. Layouts
    • Inflation
    • Linear Layout
    • FrameLayout
    • RelativeLayout
    • TableLayout
    • CombiningLayouts
    • Scrolling
    • Screen Orientation Changes
    • Graphical Layout Tool
  7. Fragments
    • What are Fragments?
    • Creating a Fragment
    • Add a Fragment to an Activity via XML
    • Add a Fragment Programmatically
    • BackStack
    • Alternative Layouts
    • Fragment Lifecycle
    • ListFragment
    • The Android Support Library
  8. Dialogs
    • Toast
    • Custom Toast
    • Dialogs
    • Alert Dialog
    • Alert Dialog Buttons
    • Dismissing a Dialog
    • AlertDialog Items
    • Event Notifications
    • Custom Dialogs
    • ProgressDialog
    • DatePickerDialog
  9. Menus
    • Menus and Menu Items
    • OptionsMenu
    • Reacting to Menu Item Selections
    • ContextMenu
    • Contextual Action Mode
    • Defining Contextual Actions
    • PopupMenu
    • Submenus
    • CheckBoxes and Radio Buttons in Menu Items
  10. Intents and Broadcast Receivers
    • Android Components
    • Explicit Intents
    • Passing Extra Data to an Intent
    • Activities with Results
    • Implicit Intents
    • Intent Types and Categories
    • Intent Filters
    • Intent Filter Actions and Categories
    • Intent Filter Data
    • Broadcast Receivers
    • Registering Broadcast Receivers Programmatically
    • Registering Broadcast Receivers via the Manifest
    • Broadcasting Intents
  11. Services
    • What is a Service?
    • Defining a Service: Extend IntentService
    • Defining a Service: Extend Service
    • Registering and Starting a Service
    • Stopping a Service
    • Creating a Bound Service
    • Binding to a Service
    • Remote Bound Services
    • Call a Remote Service
    • Service Lifecycle
  12. Notifications
    • Notifications
    • Creating a Notification Builder
    • Configuring a Notification Builder
    • Pending Intents
    • NotificationManager
    • Updating a Notification
    • More Notification Properties
  13. Data Storage: Preferences and Files
    • The Android File System
    • Preferences
    • Creating Preferences
    • Reading Preferences
    • Updating and Deleting Preferences
    • Using PreferenceScreen
    • PreferenceActivity and PreferenceFragment
    • Working with Files
    • openFileInput() and openFileOutput()
    • External Storage
    • The cache Directory
    • Raw Resource Files
  14. Data Storage: SQLite Database
    • SQLite
    • Android SQLite Classes
    • Executing SQL Statements
    • The rawQuery() and query() Methods
    • Cursors
    • Managed Cursors and LoaderManager
    • Encapsulate Data Access with an Adapter
    • Using SQLiteOpenHelper
    • Managing Database Upgrades
    • Inserting and Updating Data
    • Deleting Data
    • Transactions
  15. Data Adapter Widgets
    • Data-Driven Adapter Controls
    • Adapters
    • ArrayAdapter
    • CursorAdapter
    • Simple Cursor Adapter
    • ListView
    • ListActivity
    • AdapterView Events
    • Spinner
    • AutoCompleteTextView
    • GridView
    • ViewPager and PagerAdapter
    • The ViewHolder Pattern
  16. Implementing a Content Provider
    • Content Providers
    • Content URIs and MIME Types
    • Implement the ContentProvider Interface
    • Sharing Your Data
    • Register your Provider and Permissions
    • Accessing a Content Provider
  17. Accessing Contacts and Other Android Providers
    • Built-In Content Providers
    • Accessing Content Providers
    • Content URIs
    • LoaderManager and CursorLoader
    • Settings
    • Browser and Call Log
    • MediaStore
    • Contacts
    • Using ContactsContract
  18. Location-Based Services
    • LocationManager and LocationListener
    • Registering a LocationListener
    • Location
    • Permissions
    • Determining Distance and Bearing
    • Geocoding and Reverse Geocoding
    • Proximity Alerts
    • Using Google's Map Service
    • Google Maps Android API
    • Displaying a Google Map withMapFragment
    • GoogleMap Gestures and Events
    • LatLng and the GoogleMap Camera
    • Markers and BitmapDescriptors
    • Polylines and Polygons
  19. Publishing an Application
    • Publishing
    • Packaging and Signing
    • Distribution
    • Updates