Involve yourself completely in the development of Android Apps

It is a fact that mobile devices have ample of user-friendly applications than before thus, putting the internet in the handsets of many. Our Android program is a result-focused program, which aims to assist students create applications on the Android platform. This course encompasses the very basics to help learners know about the core of Android application development. You can also gain knowledge on Android setup, the SDK tools, advanced APIs such as graphics, contacts and much more.

Course code: AndroidAPP

Course duration: 6 weeks

Course objectives:

This course is designed to quickly help you learn to develop Android applications. The main objectives of this course include:

  • Understand the Android architecture
  • Install and use tools for Android such as IDE, device emulator, etc.
  • Create simple applications that run on Android platform
  • Create an application that uses multimedia, graphics, etc. under the Android operating system
  • Explain about Android SDK command-line and Eclipse plugin tools
  • Provide hands-on practical sessions on latest technology
  • Use built-in widgets for scrolling, tabbing and layout control
  • Use menus, toasts and more through Android action bar and handle menu selections
  • Access databases under the Android operating system
  • Support user-specific preferences using the Preferences API

Delegates will learn:

Upon completion of this course, you will be able to:

  • Create your own Android apps
  • Compare Android as an operating system with other mobile development platforms
  • Gain knowledge on Android applications, its life cycle and other external resources
  • Design applications with user interfaces by using your own layouts and Views
  • Use Android APIs for SMS, network management, etc.
  • Secure, tune and deploy applications on Android

Android developers are highly in demand across the world. We commit to offer a quality training program to help you make a brighter future and a profitable career in Android.

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