In addition to a very knowledge instructor that could teach effectively, I really liked the technology used. In... More Testimonials »

Android 4 Nuts and Bolts

This course has been replaced by
Introduction to Android Development.

Although the outline and schedule below reflect this change,
please go to the new course page.

Delivery Options

Class Date and Time Price Pricing Information
$2,625.00
or 5 vouchers vouchers
$2,625.00 or 5 vouchers vouchers
$2,625.00 or 5 vouchers vouchers

Class Description

Class Overview

This course is intended for experienced developers who wish to learn how to develop applications for the Android operating system from Google. Students will build various small example app, service, and widget projects and also work up larger case-study applications involving various UI-design techniques.

While this is an introductory course, we make a point of focusing on practical concerns faced by the corporate IT developer. The primary case-study application connects popular mobile features such as maps and multimedia with a RESTful web service and a JPA persistence tier that connects to a fully-worked enterprise database (15 tables, 998 rows). The mobile side of the application includes 47 Java classes and 8 distinct activities. Supporting applications provide overlapping exercise in key techniques such as using asynchronous tasks, communicating with external applications, and error-handling.

Class Goals

  • Describe the Android OS architecture.
  • Install and use appropriate tools for Android development, including IDE, device emulator, and profiling tools.
  • Understand the Android application architecture, including the roles of the task stack, activities, and services.
  • Build user interfaces with fragments, views, form widgets, text input, lists, tables, and more.
  • Use advanced UI widgets for scrolling, tabbing, and layout control.
  • Present menus via the Android action bar and handle menu selections.
  • Store application data on the mobile device, in internal or external storage locations.
  • Support user-specific preferences using the Android Preferences API.

Class Outline

  1. The Android Operating System
    1. Mobile Form Factors
    2. Versions of Android
    3. Applications and APK Files
    4. Process Architecture
    5. The Role of Java
    6. Hello, Dalvik
    7. What's In, What's Out
    8. Services
    9. User Interface
    10. Memory and Storage
    11. Operating-System Services
    12. Inter-Process Communication
  2. Android Development
    1. The Android SDK
    2. The SDK and AVD Managers
    3. Configuring the Emulator
    4. Eclipse
    5. Resources
    6. APK Files
    7. Build Process
    8. The R Class
    9. Assets
    10. The Dalvik Debug Monitor Server
    11. The Android Debugger (adb)
    12. Command Shells
    13. The Android Log and LogCat
    14. Ant
  3. Applications
    1. Activities and Fragments
    2. Activity Lifecycle
    3. The onCreate Method
    4. Layouts and Views
    5. The findViewById Method
    6. Tasks and the "Back Stack"
    7. Intents and Results
    8. startActivity and Related Methods
    9. Custom Application Classes
    10. Shared Application State
  4. User Interface Design
    1. XML Layouts
    2. Layout Parameters
    3. The Box Model
    4. Gravity
    5. The LayoutInflater Service
    6. The <LinearLayout>
    7. The <RelativeLayout>
    8. Views and Adapters
    9. Form Widgets
  5. Fragments and Multi-Form Design
    1. The Fragments API
    2. Fragment Lifecycle
    3. Relationship Between Activity and Fragment
    4. Possible Cardinalities
    5. Communication between Activity and Fragment
    6. Fragment Arguments
    7. Callback Interfaces
    8. Designing for Multiple Form Factors
    9. Fragments on the Back Stack
  6. Views, Adapters, and Dialogs
    1. Styles and Themes
    2. <include> and <merge>
    3. View Orientation
    4. Adapters
    5. Dialog Fragments
    6. Showing and Managing Dialogs
    7. Using AlertDialog
  7. Working with Text
    1. The <TextView>
    2. The <EditText>
    3. Input Methods
    4. Input Types: Phone, E-mail, Date, Time ...
    5. DatePicker and TimePicker
    6. Date- and Time-Picking Dialogs
    7. Providing Auto-Completion
    8. Using the Clipboard
    9. Linkification
  8. Working with Lists
    1. AdapterView and Subclasses
    2. Adapter and Subinterfaces
    3. ListView and ListAdapter
    4. ListFragment
    5. Spinner and SpinnerAdapter
    6. Handling Item Selection
    7. Custom Adapters
    8. ExpandableListView and ExpandableListAdapter
  9. Working with Tables
    1. The <TableLayout> and <TableRow>
    2. Defining Table Cells
    3. Static Table Layouts
    4. Dynamic Tables
    5. Binding Data
    6. Using a Template Row
    7. Managing IDs
  10. Graphics and Low-Level Events
    1. Drawing on a Canvas
    2. The Paint Object
    3. Handling Size and Orientation Changes
    4. Handling Touch Events
    5. Working with Drawables
    6. Shape Drawables
    7. Bitmap Drawables
    8. 9-Patch Bitmaps
    9. Custom Drawables
    10. The Drawing Cache and Working with Bitmaps
  11. Menus and the Action Bar
    1. Options and Context Menus
    2. The Action Bar
    3. Menu Resources
    4. The MenuInflater Service
    5. The <Menu>
    6. The Menu and MenuItem Classes
    7. Handling Menu Selections
    8. The Escape from switch/case!
    9. Using a Dispatch Map
    10. Building Menus Dynamically
  12. Local Storage
    1. The Android File System
    2. Internal Storage
    3. File Formats
    4. Parsing JSON
    5. Storage and the Application Lifecycle
    6. External Storage
    7. Private Storage vs. Public Media
    8. Permissions
    9. Checking for Availability
    10. Preferences
    11. Preferences Resources
    12. The PreferencesFragment
    13. The PreferencesManager
    14. Reading Preferences

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following areas is required:

  • Java programming experience is required;
  • Exposure to related technology including web applications, user-interface design, SQL, XML, and web services, all are beneficial but none are required.

Courses that can help you meet these prerequisites:

Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away.

Potential Follow-on Classes

Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer
  2. Career Opportunities
Locations
Compare Us
Watch 3-minute Demo Video
of Live Online Training:
Learn the benefits of online training with Webucator
Webucator is a Registered Education Provider (R.E.P.) approved by PMI to issue professional development units (PDUs) for our training courses.
© Webucator, Inc. All rights reserved. | Toll Free: 1-877-932-8228 | From outside the USA: 315-849-2724| Fax: 315-849-2723