Developing Secure Android Apps for Business Boot Camp - 3 Days -

Developing Secure Android Apps for Business Boot Camp - 3 Days

Regular price $1,595.00 Sale


Course Specifications

Course Number:


Course Length:

3 days

Course Description


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.

This course is also designed to assist you in preparing for the Master Mobile Application Developer (MMAD) (Exam MAD-111) certification examination. What you learn and practice in this course can be a significant part of your preparation for portions of that certification.

Course Objectives:

In this course, you will develop, test, and publish native mobile applications for the Android operating system.

You will:

  • Set up an Android development environment and start developing an Android app.
  • Develop an app that works well within the Android app framework and meets user expectations.
  • Create an app with multiple user interface screens and features to move among them.
  • Use resources to support internationalization and quick update of contents and styles.
  • Add graphics and animation capabilities to your app.
  • Store and retrieve files by using local storage.
  • Use debugging tools to trace and watch variables, and step through statements.
  • Retrieve and display web data.
  • Store and retrieve user preferences.
  • Integrate your app into the Android ecosystem.
  • Prepare an app for release, ensuring its security and digitally signing it.


Target Student:

This course is intended for a programmer or web developer who is new to mobile-app development for the Android operating system. You should also have experience developing web or desktop applications using object-oriented programming languages and tools; experience developing mobile applications is helpful, but not required.


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.

Course-specific Technical Requirements


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:

  • 2 gigahertz (GHz) 64-bit processor that supports the VT-x or AMD-V virtualization instruction set.
  • 6 gigabytes (GB) of Random Access Memory (RAM) (8 GB recommended).
  • 100 GB storage drive.
  • Monitor capable of a screen resolution of at least 1,024 × 768 pixels.
  • Display adapter.
  • Bootable DVD-ROM and/or USB drive.
  • Keyboard and mouse or a compatible pointing device.
  • Network cards and cabling for local network access.
  • Internet access (contact your local network administrator).
  • Projection system to display the instructor's computer screen.


Android Devices

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.

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

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.

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 ( 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.


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:

  • Microsoft Windows 10 64-bit with sufficient licenses.

    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.

  • Java SE Development Kit (JDK). This course was developed on version 8u101 of the JDK. At the time the course was written, this software was available for download from
  • Android Studio and the Android SDK. This course was developed on version 2.1.2 of Android Studio. The course uses SDK API versions 22 and 23. The SDK tools and APIs undergo frequent revisions, so you should ensure that the course activities key properly on the most recent versions. At the time the course was written, this software was available for download from

Course Content

Lesson 1: Getting Started with Android Studio

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

Lesson 2: Working in the Android App Framework

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

Lesson 3: Creating an App with Multiple Activities

Topic A: Create a Tabbed User Interface

Topic B: Provide Navigation to Other Activities

Lesson 4: Using Resources

Topic A: Load App Data from Resources

Topic B: Support Alternate Languages Through Resources

Topic C: Apply Themes and Styles

Lesson 5: Working with Multimedia

Topic A: Load Images

Topic B: Draw Graphics Through Code

Topic C: Add Animation Effects

Lesson 6: Working with Data and Storage

Topic A: Write File Data

Topic B: Read File Data

Lesson 7: Debugging and Analyzing Android Apps

Topic A: Debug an Android App

Topic B: Use Additional Android Debugging and Analysis Tools

Lesson 8: Working with Web Data

Topic A: Populate a View with Web Data

Topic B: Load Web Content in a WebView

Lesson 9: Working with User Preferences

Topic A: Implement a User Interface for Preferences

Topic B: Read User Preferences

Lesson 10: Integrating with the App Ecosystem

Topic A: Provide an Alternate Layout

Topic B: Access Sensors and Location Services

Topic C: Capture Multimedia

Topic D: Develop a Widget

Lesson 11: Finalizing Your App

Topic A: Manage App Security

Topic B: Prepare an App for Release

Appendix A: Logical Operations Master Mobile Application Developer (MMAD) Exam MAD-111 Objectives

Customer Reviews

Based on 1 review Write a review