Apr 24, 2024  
2018-2019 Course Catalog 
    
2018-2019 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

MDT 210 - Android App Development II

Credits: 3
Lecture Hours: 3
Lab Hours: 0
Practicum Hours: 0
Work Experience: 0
Course Type: Voc/Tech
A second course in developing applications for Android platforms. Introduce features to enhance and extend the functionality of Android applications. Investigate best practices for mobile application development. Detail the distribution process to publish applications in the marketplace.
Prerequisite: MDT 110  or instructor permission
Competencies
  1. Explain the fundamentals of location-based services.
    1. Introduce Global Positioning Services (GPS).
    2. Explain geocoding locations
    3. Use latitude and longitude to determine addresses and place names.
    4. Transform addresses and place names into latitude and longitude.
    5. Describe the mapping features available in Android applications.
    6. Use a built-in mapping application.
    7. Integrate mapping functionality into applications.
    8. Develop an application implementing location-based services.
  2. Explore the multimedia features of the Android platform.
    1. Discuss multimedia fundamentals.
    2. Explain capturing still images.
    3. Configure camera mode settings.
    4. Share images among applications.
    5. Discuss Android’s video capabilities.
    6. Explore Android’s audio features.
    7. Record and play audio.
    8. Share audio among applications.
    9. Describe multimedia searching functions.
  3. Discuss the functionality of the telephony utilities.
    1. Introduce Android’s integrated phone features.
    2. Describe Android’s telephony utilities.
    3. Access phone state information.
    4. Request call state and service information.
    5. Monitor signal strength and data connection speed
    6. Examine adding Short Message Service (SMS) capability to applications.
  4. Describe the 3D graphics features of Android.
    1. Discuss the Android implementation of OpenGL ES.
    2. List the versions of OpenGL ES supported by the Android platform.
    3. Describe common tasks using OpenGL ES.
    4. Explain drawing three-dimensional objects
    5. Discuss lighting scenes and texturing objects
    6. Examine thread creation and interaction.
    7. Develop an application using OpenGL ES.
  5. Examine the Android Native Development Kit (NDK).
    1. Discuss when to use the Android NDK.
    2. Explore the Android NDK.
    3. Call native code.
    4. Handle parameters and return values.
    5. Use exceptions with native code.
    6. Describe improving application performance using the Android NDK.
  6. Explore additional hardware capabilities of the Android platform.
    1. Discuss the low-level hardware features of the handset.
    2. Explore the device sensors.
    3. Identify different sensors.
    4. Acquire access to a sensor
    5. Calibrate sensors
    6. Read sensor data.
    7. Examine device orientation.
    8. Describe hardware support for Wi-Fi and Bluetooth.
    9. Explain functions to monitor the battery
  7. Discuss application notification features.
    1. Describe techniques for applications to provide user notification.
    2. Discuss the status bar as the standard method for displaying notifications.
    3. Examine notification management and the notification queue.
    4. Discuss vibrating the phone, blinking lights and making noise as alert techniques.
    5. Explore custom notification layouts.
    6. Develop an application demonstrating application notification techniques.
  8. Describe Android services.
    1. Explain the fundamentals of Android services.
    2. Discuss when to use services.
    3. Service performing a background process.
    4. Service as an interface for a remote object.
    5. Examine the service lifecycle.
    6. Describe how to create and interact with a service.
    7. Define a remote interface using the Android Interface Definition Language (AIDL).
    8. Explore passing objects through an interface.
  9. Explain techniques for integrating applications.
    1. Discuss applications sharing data and functionality.
    2. Describe exposing segments of application functionality in the form of App Widgets.
    3. Explore making application content searchable across the device.
    4. Explain the use of live folders.
  10. Describe advanced user input processing.
    1. Discuss different methods of user input.
    2. Examine textual input methods.
    3. Explain software keyboards.
    4. Discuss other Input Method Editors (IMEs).
    5. Explore the Accessibility Framework.
    6. Discuss the Speech Recognition Framework.
    7. Discuss the Text-To-Speech Framework.
    8. Describe Android’s support for gestures.
    9. Discuss detecting user motion.
    10. Describe handling single-touch gestures.
    11. Describe handling multi-touch gestures.
    12. Explain processing trackball events.
    13. Explain processing screen orientation changes.
    14. Develop an application demonstrating advanced user input techniques.
  11. Examine testing procedures for Android applications.
    1. Describe best practices for testing mobile applications.
    2. Discuss the test environment.
    3. Manage device configuration.
    4. Maximize testing coverage.
    5. Explore Android tools for application testing.
    6. Explore physical devices
    7. Explore Android Virtual Devices (AVDs).
    8. Explore Android Debug Bridge (ADB)
    9. Explore Android Dalvik Debug Monitor Server (DDMS).
  12. Discuss distributing and marketing Android applications.
    1. Describe the distribution opportunities available to Android developers.
    2. Discuss choosing the right distribution model.
    3. Explain packaging an application for publication.
    4. Explore distribution channels.
    5. Explore publishing/selling applications on the Android Market.
    6. Explore publishing/selling applications using alternative market web sites.
    7. Explore publishing/selling applications on your own server.
    8. Demonstrate the distribution of an Android application.



Add to Portfolio (opens a new window)