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, 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 current to Android 2.3, Gingerbread.
Audience: Programmers with zero to six months developing applications for the Android platform.
Prerequisites: Introduction to Java or equivalent experience is required. Basic understanding of Java threads, Java inner classes and XML is recommended.
Class Length: 5 days
- Android Programming Training Class Objectives
-
- Create an Android application.
- Create an activity and manage its lifecycle.
- Access resources programmatically to enable maintenance and localization.
- Create full-featured graphical user interfaces with widgets, dialogs, menus, and event handlers.
- Control the organization of your screen with layouts.
- Communicate between applications in a loosely-coupled way with intents.
- Listen for notifications from broadcast receivers.
- 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.
- Determine the current location and leverage Google Maps.
- Publish an application to an Android device.
- Android Programming Training Class Detailed Outline
-
- Course Introduction
- Course Objectives
- Course Overview
- Using the Workbook
- Suggested References
- Getting Started
- Android Overview
- Android Architecture
- The Dalvik VM
- Android Components
- Android SDK and Platform-tools
- Configuring and Using Eclipse for Android
- A Simple Android Application
- The Android Emulator
- User Interface Layouts
- Android Event Handlers
- LogCat
- Activities
- Creating an Activity
- Activity Lifecycle
- Callback Methods
- Resource Conservation
- Intents
- AndroidManifest.xml
- Packaging
- Resources
- Alternative Resources
- R.java
- String Resources
- StringArrays
- Boolean and Integer Resources
- Color and Dimension Resources
- Image Resouces
- System Resources
- Localization
- Format Strings
- 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
- Layouts
- Inflation
- Linear Layout
- FrameLayout
- RelativeLayout
- TableLayout
- CombiningLayouts
- Scrolling
- Screen Orientation Changes
- Graphical Layout Tool
- Dialogs
- Toast
- Custom Toast
- Dialogs
- Dismissing a Dialog
- AlertDialog
- AlertDialog Buttons
- AlertDialog Items
- Custom Dialogs
- ProgressDialog
- DatePickerDialog
- Menus
- Menus and Menu Items
- OptionsMenu
- Reacting to Menu Item Selections
- ContextMenu
- Submenus
- CheckBoxes and Radio Buttons in Menu Items
- Intents and Broadcast Receivers
- Android Components
- Explicit Intents
- Passing Extra Data to an Intent
- Activities with Results
- Implicit Intents
- Intent Filters
- Intent Filter Actions and Categories
- Intent Filter Data
- Broadcast Receivers
- Registering Broadcast Receivers Programmatically
- Registering Broadcast Receivers via the Manifest
- Broadcasting Intents
- 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
- Notifications
- Notifications
- Notification
- Pending Intents
- NotificationManager
- Updating a Notification
- Notification Fields
- Data Storage: Preferences and Files
- The Android File System
- Preferences
- Creating Preferences
- Reading Preferences
- Updating and Deleting Preferences
- Using PreferenceScreen
- Manage Preferences with
- PreferenceActivity
- Working with Files
- openFileInput() and openFileOutput()
- The cache Directory
- ExternalStorage
- RawResource Files
- Data Storage: SQLite Database
- SQLite
- Android SQLite Classes
- Executing SQL Statements
- The raw query() and query Methods
- Cursors
- Managed Cursors
- Encapsulate Data Access with an Adapter
- Using SQLiteOpenHelper
- Managing Database Upgrades
- Inserting and Updating Data
- Deleting Data
- Transactions
- Data Adapter Widgets
- Data-Driven Adapter Controls
- Adapters
- ArrayAdapter
- CursorAdapter
- Simple Cursor Adapter
- ListView
- ListActivity
- AdapterView Events
- Spinner
- AutoCompleteTextView
- Gallery and GridView
- The ViewHolder Pattern
- Implementing a Content Provider
- Content Providers
- Content URIs and MIME Types
- Implement the ContentProvider Interface
- Sharing Your Data
- Registering your Content Provider and Permissions
- Accessing Contacts and Other Android Providers
- Built-In Content Providers
- Accessing Content Providers
- Content URIs
- Settings
- Browser and Call Log
- MediaStore
- Contacts
- Using ContactsContract
- Location-Based Services
- 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
- Publishing an Application
- Publishing
- Packaging and Signing
- Distribution
- Updates
- Course Introduction



