Certificate in Android Application Development
ANDROID APPLICATION DEVELOPMENT
Start Date: March 24th - June 25th, 2014 - 24 Sessions:
Monday and Wednesday evenings - 6:30 pm to 8:30 pm
Location: 163 Williams St., New York, NY 10038
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).
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. Access to an Android phone and / or tablet is recommended but not required.
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.
Location: 163 William St., New York, NY 10038
- Certificate in Android Mobile Application Development
- Certificate in iPhone Application Development
Object Oriented Programming
- Introduction to Object Oriented Programming for Mobile Device Computing
iPhone / iOS
- Certificate in Advanced iOS Application Development
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
File I/O and the SD Card
7. Background processing: Services, Alarms and Notifications
Writing and Using Services
Concurrency in Android: proper use of Java Threads
Handlers, AsyncTasks and synchronizing with the UI thread
All about Notifications
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
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.