C O R P O R AT E T R A I N I N G S Y L L A B U S
Android Essentials
Course Overview
Four out of every five smartphones uses the Android operating system. Learn to build for this
ever-present platform with our five-day introduction to Android programming.
Who should take this course
• A working knowledge of Java is necessary for this course and students should have
programming experience. However, no Android programming experience is necessary.
• If you have an existing iOS or web app and want to broaden your user base, this
course is a great fit. That said, experience in other mobile platforms is a plus, but not
required.
Syllabus
• Introduction
o Use Android Studio and the emulator.
• Android and Model-View-Controller
o Create a simple Android Activity using basic view widgets.
• The Activity Lifecycle
o Learn how Android deals with rotation and memory pressure, and create a
special view for an application when the device is in landscape.
• Debugging Android Apps
o Analyze stacktraces and use Android Studio to find and fix bugs in your
application.
• Your Second Activity
o Create a second activity and communicate between activities.
1
C O R P O R AT E T R A I N I N G S Y L L A B U S
• Android SDK Versions and Compatibility
o Learn how to support a variety of Android versions gracefully.
• UI Fragments and the Fragment Manager
o Architect an Android app using fragments.
• Displaying Lists with RecyclerView
o Use a RecyclerView with a custom layout to display a list of data
• Creating User Interfaces with Layouts and Widgets
o Explore the Android measure and layout process while using the new
ConstraintLayout tool.
• Using Fragment Arguments
o Pass arguments to a fragment in a safe way.
• Using ViewPager
o Swipe between fragments.
• Dialogs
o Create and display a dialog with a custom view.
• The Toolbar
o Use the AppCompat library to display and populate a Toolbar.
• SQLite Databases
o Use a SQLite database to persist data.
• Implicit Intents
o Open-ended wish fulfillment in Android.
• Taking Pictures with Intents
o Use implicit intents to take and save a picture.
• Two-Pane Master-Detail Interfaces
o Use fragments to create a responsive app optimized for phones and tablets.
• Localization
o Update an application to support multiple languages while learning about the
strengths and weaknesses of Android’s localization framework.
2
C O R P O R AT E T R A I N I N G S Y L L A B U S
• Accessibility
o Improve an application’s usability for a wider audience.
• Data Binding and MVVM
o Use Android’s new data binding tools as well as a model-view-viewmodel
architecture to write elegant activities.
• Unit Testing and Audio Playback
o Teach the tools to verify that your code functions as it should.
• Styles and Themes
o Use the AppCompat library to bring material themes to an application.
• XML Drawables
o Create shape, state-list and layer-list XML drawables.
• Intents and Tasks
o Query the operating system to determine which activities can handle a certain
action.
• HTTP & Background Tasks
o Connect to the internet, use Flickr's REST API, parse JSON and move off the
main thread with AsyncTask.
• Loopers, Handlers and HandlerThread
o Learn about Android's main thread and download photos from Flickr.
• Search
o Use a SearchView in the toolbar to search Flickr.
• Background Services
o Work behind the scenes and use Android Notifications.
• Broadcast Intents
o Subscribe to local and OS events.
• WebView
o Use WebView to include web content.
• Custom Views and Touch Events
o Perform custom drawing and manually interpret touch events.
3
C O R P O R AT E T R A I N I N G S Y L L A B U S
• Property Animation
o Animate views using property animations.
• Locations and Play Services
o Use Google Play Services to determine the device's location.
• Maps
o Google Maps API and map overlays.