Developing Secure Android Apps for Business

Course Description Overview

Course Number:
094014
Course Length:
3 days
Course Description Overview:
Note: The Master Mobile Application Developer (MMAD) certification associated with this course has been retired.  The courseware is not currently undergoing revisions.  Please evaluate the content carefully to ensure that the material will meet your instructional needs. 

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.
Prerequisites:
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 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:

  • 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 www.oracle.com/technetwork/java/javase/downloads.
  • 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 http://developer.android.com/sdk/index.html.
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:

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

 

Certification reference (where applicable)
-
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

Registration
Register Now