Android™ Application Development
Duration: 35 hours
Prerequisites: Prior experience with a scripting or programming language is required.
Students Will Learn:
- Introduction to Android
- Installing the Android SDK
- Creating Android Projects in the IDE
- Java Language Highlights
- Activities and User Interfaces
- Widgets and Layouts
- Accepting User Input
- Developing Layouts
- Spinners and Lists
- Passing Control With Intents
- User Feedback - Toasts, Dialogs, Notifications and Alarms
- Menus and the Action Bar
- Background Threads and Services
- Broadcast Receivers
- SQLite Databases
- Content Providers
- Cameras, Audio and Video
- Telephony and Message Services
- Networking and Web Services
- Packaging Apps for the Google Play Store
- Mapping and Location Services
- Advanced UI Techniques
- Bluetooth Networking and NFC
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 Android Studio to perform comprehensive hands on exercises throughout the course to reinforce learning and develop real competency. Various alternative App development environments are compared to Android Studio, including Flex, Air, PhoneGap and Eclipse.
|Getting Started with Android App Development
||Creating the User Interface (UI)
|Mastering User Interface Layouts
||Accepting User Input
|Menus, ActionBars and Popups
||Advanced User Interfaces and the WebKit Browser
|Working with App Activities and Intent Filters
|Saving Files and Images
||Using Java Libraries and Web Services
|Handling Rotation and Different Screen Sizes
||Working with Built-in Android Features
|Deploying to Android Devices
||Alternative Development Options and Other Resources
|Mobile Application Developer||2-course track
Android is a trademark of Google Inc.