Android Application Development Hands-On Technology Transfer
Delivery Method
Seminar
Target Audience Android Application Developers
Summary This hands-on course conveys the fundamental skills necessary to deploy Android Apps on mobile devices such as phones and tablets.
Description/Agenda < This hands-on course conveys the fundamental skills necessary to deploy
Android Apps on mobile devices such as phones and tablets. Attendees will
design and build a variety of Android Apps throughout the course. Previous
Java programming knowledge is not essential, but basic programming
experience is required. Java code used in the exercises is fully explained.
The course emphasizes proper layout of the user interface (UI), including
how to add buttons, labels, textboxes, checkboxes, images and other widgets
to the UI. Students will learn how to utilize Android's XML-based layout
system, which builds the UI with containers and widgets, as well as how to
set wallpapers and add menus to the UI. Students practice with dialog
techniques including the display of popup messages.
Students also learn how to handle screen rotation, and how to define UIs
so they can adjust for different screen sizes. The course teaches students
how to accept user input from keyboards (either externally attached or from
the built-in keyboard), how to use the date/time picker, and how to present
users with choices using Selection Lists. Students will learn how to add
tabs to the UI, as well as how to display HTML content using the built-in
WebKit browser.
Students will learn how to program control of state changes in the
Activity Lifecycle: active, paused, stopped or dead. For instance, since
Apps often run on phones, taking a call may send an App from the active
state to the paused state. Or, if battery life is low the App may be forced
into the dead state. Student will learn how to manage Activities moving
between these states so that Apps can, for example, save inputted data
before transitioning into the dead or paused state. Also related to this is
the ability for an Activity to launch Sub-Activities, which allows Apps to
run processes in the background (such as downloading files).
Coverage of data storage includes best practices for storing images and
files. Student will also learn how to embed SQLite databases in Apps, and
then use these databases to store and retrieve any kind of data.
The course emphasizes Service Oriented Architecture (SOA), and students
learn how to connect Apps to web services such as Google Maps and UPS's
package tracking API. In addition to using outside web services, the course
also demonstrates how to use many of a phone or tablet's built-in features
such as the camera, location service (which determines where the device is
physically located), and the Accelerometer (which determines if the device
is being tilted and how fast it's being tilted). Additional topics include
how to play audio and video, and standard techniques for storage and
retrieval.
Students employ the Eclipse editor and the Android Developer Tools (ADT)
plugin to perform comprehensive hands on exercises throughout the course to
reinforce learning and develop real competency. Various alternative App
development environments are compared to Eclipse, including Flex, Air and
PhoneGap. The course provides students with an introduction to a variety of
Android App development resources.
Course Prerequisites: Prior experience with a scripting or
programming language is required. Java skills are helpful but not required.
What You Will Learn
- Creating Android Apps for Mobile Devices
- Testing Apps with the Android Simulator
- Creating User Interface (UI) Layouts
- Handling Screen Rotation
- Using Standard Widgets
- Responding to Screen Touches
- Embedding and Using SQLite Databases
- Applying Fonts and Styles to Text and Images
- Managing the Activity Lifecycle of Apps
- Using Java Libraries with Apps
- Connecting Apps to Web Services
- Using Sub-Activities to Boost Performance
Workshop Agenda
Getting Started with Android App Development
- Fundamental Components of Android Phones and Tablets
- Installing and Configuring Eclipse to Create Apps
- Testing Apps Using the Simulator
- Understanding Service Oriented Architecture (SOA)
|
Creating the User Interface (UI)
- Core Components of Android User Interfaces (UIs)
- Using Android’s XML-Based Layout System to Define UIs
- Common Widgets
- Buttons
- Labels
- Checkboxes
- UI Layout Best Practices
|
Mastering User Interface Layouts
- Pros And Cons of Different Layout Models
- Using Containers to Control the Location of Widgets
- Defining a Widget's Position Relative to Other Widgets
- Overlapping Widgets
- Using Table-Based Layouts
- Enabling Scrolling
|
Accepting User Input
- The Android Input Method Framework
- Getting Input from Attached and/or Internal Keyboards
- Processing Choices with Selection Lists
- Adding Icons to Selection Lists
- Using Sliders and Checkboxes
- Using Date and Time Pickers
- Responding to Taps And Swipes
|
Menus, ActionBars and Popups
- Adding Traditional Application Menus to Apps
- Displaying Context Menus When Users Tap and Hold
- Using Actionbars (Toolbars For Android Apps)
- Displaying Popup Messages
|
Advanced User Interfaces and the WebKit Browser
- Embedding HTML Content in Apps with WebKit
- Displaying Analog and Digital Clocks
- Using Tabs to Display Multiple UIs
- Applying Standard Styles and Fonts
- Creating Reusable UI Components with Fragments
|
Working with App Activities and Intent Filters
- The Application Activity Lifecycle
- Saving Data when Apps are Paused Or Killed
- Using Threads to Run Background Services
- Launching Sub-Activities
- Handling Phone Calls
- Optimizing Device Resources
|
Data Management
- Embedding SQLite Databases in Apps
- Permanently Storing Data in Local Databases
- Retrieving Database Data when Apps Start
- Best Practices for Data Management
|
Saving Files and Images
- Storing Images, Strings and Arrays
- Playing Audio and Video Files
- Best Practices for Saving Files
- Creating and Storing Wallpapers
|
Using Java Libraries and Web Services
- Using Pre-Compiled Java Libraries
- Connecting to Web Services (such as Google Maps)
- Downloading Internet Content
|
Handling Rotation and Different Screen Sizes
- Different Strategies for Handing Screen Rotations
- Controlling UI Changes when Screens Rotate
- Issues Related to Tablets and Larger Screens
- Creating UIs that are Compatible with All Screen Sizes
(Right-Sizing)
|
Working with Built-in Android Features
- Accessing and Using MapView
- Getting the Location of the Phone Or Tablet
- Working with the Camera
- Working with Permissions and the Security Framework
|
Deploying to Android Devices
- Checking for and Requiring Phone or Tablet Features
- Deploying to the Android Store
- Deploying Directly to Devices
|
Alternative Development Options and Other Resources
- Building Apps with PhoneGap
- Using Flex, Air and Other Development Options
- Locating Resources and Help
|
Android is a trademark of Google Inc.
|