Android Essentials with Java Before You Program o Exercise in algorithm generation Getting Started o Using IntelliJ CE Using Variables and Values o Store data in typed variables Static Methods o Write reusable code snippets Decision Making o Change control flow using if statements using boolean logic Switches and Basic Exceptions o Handling errors and changing control flow based on a set of discrete cases Iteration o Repeat based on number of times using for loops and repeat based on user input using while loops Arrays and Memory o Create and access mutable sequences of data Objects o Create instances of predefined classes Creating Classes o Define your own custom classes 1
Subclasses and Superclasses o Reuse code across different classes and create a type hierarchy Representing Data with Objects o Create objects that represent data Using Generic Classes and Collections o Use Java s list and map implementations and parameterized types Inner classes o User inner classes to local behavior definitions Libraries o Creating and using jar files Garbage Collection o Understand how the JVM cleans up memory Generic Classes o Use generics to leverage compile-time type safety Concurrency o Execute work on separate threads Introduction to Android 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. o Create a special view for an application when the device is in landscape. Debugging Android Applications o Analyze stacktraces and use Android Studio to find and fix bugs in your application. 2
Your Second Activity o Create a second activity and communicate between activities. 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 application 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 3
o Use fragments to create a responsive application 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. 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. 4
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. 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. 5