
Overview
Android™ is the most widely used mobile operating system today. Not only does it have the largest market share of smartphone and tablet operating systems, but Android also powers devices such as TV streaming boxes, digital cameras, vehicle dashboards, and much more. In this course, you will learn how to develop and publish an Android app, focusing on developing business apps for tablets and smartphones that are compatible with a wide variety of Android versions and device layouts.
Objectives
In this course, you will develop, test, and publish native mobile applications for
the Android operating system. You will:
To ensure your success, you should have experience developing applications using an object-oriented programming language such as Java™, Python®, C++, C#, Visual Basic®, and so forth. This course focuses on Android development and does not elaborate on the Java programming language; experience or prior coursework in Java is highly recommended.
Android devices are not required to teach this course. To enable you to equip a classroom inexpensively and with minimal effort, this course has been designed around the use of emulated (rather than real) Android devices, focusing on an emulated API level 22 smartphone and an API level 23 tablet.
The emulators that come with the Android SDK are optimized to run on Intel® processors with the VT-x virtualization instruction set. If VT-x isn't enabled, you must enable it from the computer's BIOS. The course was developed using emulators that take advantage of Intel's HAXM virtualization engine. This significantly increases the speed of the emulators.
Windows 10
requires activation unless you have volume-licensing agreements. There is a
grace period for activation. If the duration of your class will exceed the
activation grace period (for example, if you are teaching the class over the
course of an academic semester), you should activate the installations at
some point before the grace period expires. Otherwise, the operating system
may stop working before the class ends.
Topic A: The Android Operating System
Topic B: Create an Android App Project
Topic C: Configure the Android Development Environment
Topic D: Create an Android Emulator
Topic A: Work in the Android Project Structure
Topic B: Use Android Documentation
Topic C: Work with the App Lifecycle
Topic D: Design to Requirements and Expectations
Topic A: Create a Tabbed User Interface
Topic B: Provide Navigation to Other Activities
Topic A: Load App Data from Resources
Topic B: Support Alternate Languages Through Resources
Topic C: Apply Themes and Styles
Topic A: Load Images
Topic B: Draw Graphics Through Code
Topic C: Add Animation Effects
Topic A: Write File Data
Topic B: Read File Data
Topic A: Debug an Android App
Topic B: Use Additional Android Debugging and Analysis Tools
Topic A: Populate a View with Web Data
Topic B: Load Web Content in a WebView
Topic A: Implement a User Interface for Preferences
Topic B: Read User Preferences
Topic A: Provide an Alternate Layout
Topic B: Access Sensors and Location Services
Topic C: Capture Multimedia
Topic D: Develop a Widget
Topic A: Manage App Security
Topic B: Prepare an App for Release
Prerequisites
Target Student:
This course is intended for a programmer or web developer who is new to mobile-app development in Android. The student has experience developing web or desktop applications using object-oriented programming languages and tools, but may not have experience developing mobile applications.
Course-specific Technical Requirements
Hardware
For this course, you will need one computer for each student and one for the
instructor. Each computer will need the following minimum hardware
configurations:
Android Devices
This course could be taught using real devices, if you have smartphones and a tablet available for each student that meet these requirements. However, if you choose to use real devices, you should key through the course completely before you teach the class to ensure that you will be able to deal with any differences that may arise between the configuration of the real devices and the emulated devices.
Even if you do not have enough real devices to equip the classroom, you might consider providing opportunities for students to experiment with those that you have on hand. Students might find it beneficial to learn to work with real devices as an activity above and beyond those provided in the student manual. Practice labs provide a good opportunity for students to do such experimentation.
Emulation Technology and Processor Requirements
However, if you teach this course on computers with AMD processors, you can still run the SDK's emulators. Instead of installing the Intel x86 Atom system images as detailed in the upcoming setup, you must install the ARM EABI system images instead. These may run considerably slower, however. You must also ensure that AMD-V is enabled in the system's BIOS.
Alternatively, you may want to consider running the Genymotion emulators (www.genymotion.com). These emulators can run on both Intel and AMD CPUs. Keep in mind that this course was not designed with or tested on the Genymotion emulators, so you need to verify performance and functionality before teaching with them.
Another factor that affects performance is the power of the display adapter. The Android emulators can use software to display graphics, or they can use the computer's hardware display adapter. The latter offers improved performance, especially in graphics-intensive apps. Using computers with modern display adapters is highly recommended.
Software
Android development tools are updated frequently, and the installation process can take considerable time. Although much attention was taken in writing this course to account for possible future differences in the development environment, such variations are impossible to predict. If you can, consider installing the Android development environment on one system, and then saving an image of that system to transfer onto other classroom computers and using this same system image each time you teach the course.
To prepare a student or instructor system for the class, install the following software according to the instructions provided. You will need the following software for each student and instructor computer:
Course duration
3 Days
Course outline
Lesson 1: Getting Started with Android Studio