Pace University
914-422-4054
212-346-1222
New York City | Westchester

Certificate in Android Mobile Application Development

Course Format

The Certificate in Android Application Development class meets twice per week on Monday and Wednesday evenings.  This is an instructor-led course. Addtional lab hours are available (Mobile Device Computing Lab - open lab / optional. Meets three times throughout course)

Monday and Wednesday evenings: 6:30 pm to 8:30 pm (2 hours)  Four (+) hours per week for 12 weeks.  Total Android classroom hours - 48 hours / 12+ weeks.

COST:  $2450

You Will Learn To

Students will learn how to design and build Android Mobile applications and gain a thorough knowledge and understanding of the Google Android framework and platform.

Who Should Enroll

Anyone who is interested in learning how to build mobile apps for the Google Android mobile platform or others seeking to better understand mobile application development process.

Students are required to have a background in Object Oriented Programming; the Java programming language is preferred. An Android phone is recommended but not required.  

Course Description

The Android platform is an open source mobile and embedded device platform from Google. Currently there is rapid growth in the number of Android based mobile devices being released on all the major mobile phone carriers around the world, with a common development platform and application market for third party developer applications.

This 48 hour course consists of classroom instruction, followed by hands-on development exercises at a computer with the Android SDK.  Class room hours will be supplemented by homework assignments.  Students will be required to plan, design and build a fully functional Android application project by the end of the course.

Students in the Android and iPhone class will have access to the Mobile Device Computing Lab once per month to work collaboratively with one another and / or with an instructor to help students one-on-one or in small groups (homework assignments, lessons, exercises and / or class projects).

Detailed Course Outline

1. Introduction to the Android OS and the Android SDK   
  • Android and its history, the Open Handset Alliance and the Android Open Source Project.
  • Overview of Android OS architecture and internals, the Dalvik Virtual Machine.
  • Overview of required Java concepts and libraries and key concepts of mobile device development.
  • Overview of the Android platform components (the key classes and UI components).
  • The Android Software Developer Kit installation and developing your first application in Eclipse.
 2. Exploring the Android SDK Tools
  • Using the Eclipse IDE with the Android SDK (other IDEs will also be referenced)
  • Using the command line to build applications: using
  • ant and the SDK command line tools.
  • An intro to Logging, debugging, and profiling with both Eclipse and DDMS (Dalvik Debug Monitor Server)
  • An intro to the application life cycle: activities and tasks
  • Using AppInventor and other rapid development tools.
 3. Designing a Mobile Application in Android: The User Interface
  • From idea to code: from use cases to class diagrams with UML and related tools.
  • Designing layouts with views and components declaratively with XML (and visually with Eclipse)
  • When to design layouts programmatically, creating custom views and components.
  • Widgets, UI Events, UI Themes and Styles
  • All about the application manifest configuration file.
  • Resources and Assets, screen size compatibility, localization and OS compatibility.
 4. Lists, Dialogs, Menus, Toasts and more
  • Advanced Layouts, optimizing layouts using tools
  • Lists and adapters, custom components
  • Menus and submenus
  • Using Toasts, Progress Bars, Spinners and more.
  • The Webkit View
 5. Activities and Intents in Depth
  • Tips for a successful activity lifecycle: avoiding the FC (force close)
  • All about Intents and Intent Filters
  • Designing efficient UI navigation, inter-activity communication
 6. Permissions, Maps and Persistence Part
  • Security and Permissions
  • An intro to the Google Maps API
  • Shared Preferences
  • File I/O and the SD Card
 7. Background processing: Services, Alarms and Notifications
  • Writing and Using Services
  • Alarms
  • Concurrency in Android: proper use of Java Threads
  • Handlers, AsyncTasks and synchronizing with the UI thread
  • All about Notifications
  • Interprocess communication
8. Android UI Inputs, Accelerometer and sensors
  • User Input via touchscreen, keyboard, trackball and d-pad
  • Using the accelerometer effectively
  • Additional sensors: compass, proximity, orientation 
  • Effective synchronization with UI and sensors. 
 9. Graphics with Canvas and Open GLES
  • Drawing with Canvas, all about Drawables
  • An OpenGL ES Primer: for both 2D and 3D
  • Case Study in writing a 3D OpenGL game
 10. Location and Networking APIs
  • Using GPS Effectively
  • About HTTP and networking
  • Webservices and RSS: XML and JSON parsing examples
  • Advanced networking with Protocol Buffers
 11. Persistence Part 2, Broadcast Receivers
  • Using the sqlLite database
  • Data binding
  • Content providers
  • Broadcast Receivers: example SMS message handling
  • Effective background processing
 12. Media: playing, streaming and recording audio and video.
  • Basic MediaPlayer usage and its limitations.
  • Using SoundPool effectively.
  • Advanced examples using the AudioTrack class.
  • Audio and video streaming. using RTSP
 13. Android 2.x and beyond: the latest APIs and Android Best Practices
  • App Widgets and Live Folders and Live Wallpapers
  • Using the Bluetooth API
  • Using the Contacts API
  • Gestures, Text-to-Speech and Speech Recognition
  • Best Practices: Unit Testing, UI consistency, accessibility
  • Best Practices: Profiling for performance, responsiveness and seamlessness
  • Optimizations, tips and tricks to make development easier, faster
 14. Selling Your Application and Advanced Android Topics
  • Publishing your application on the Android Market and other markets.
  • About ads, app pricing, and alternative revenue streams and marketing.
  • Using AdWhirl the open source multi-network ad server and client
  • Intro to the Android NDK - when and not to use C/C++ code
  • Contributing back to the AOSP, how to build the Android OS from source.
  • Porting Android to new devices, interfacing with hardware.

 

Copyright © 1984-2012 Pace University.
All Rights Reserved
Created by: pcbt@pace.edu
Pace Center for Business and Technology
914-422-4054
212-346-1222
Pace blog Facebook Twitter