Duration
5 days
AUDIENCE
This course is designed for Programmers, Software Developers or anyone who are interested in designing, creating, deploying and testing applications for the Android mobile phone platform
PREREQUISITES
Computer Programming experience (any language) is required to get the most benefit from this training
METHODOLOGY
This program will be conducted with interactive lectures, PowerPoint presentation, discussion and practical exercise
COURSE OBJECTIVES
Learn to design and build mobile applications with hands-on guide using Google's Android™ open-source platform.
By the end of the course, you will be able to
- Design and build your own complete Android application incorporating most of the key aspects of the platform.
- Explain the differences between Android™ and other mobile development environments
- Understand how Android™ applications work, their life cycle, manifest, Intents, and using external resources
MODULES
Introduction
- Open Handset Alliance
- Android Platform
- What’s New
- Android 4.x
- Architecture
- Kernel
- Libraries
- Dalvik Virtual Machine
- Application Framework
- Android Startup
- Android Runtime
- Runtime Features
Integrated Development Environment (IDE)
- Android SDK
- Eclipse & ADT Plug-in
- Android SDK Manager
- Eclipse IDE and Debugger
Android Development Tool (ADT)
- Android Emulator and Virtual Devices(AVD)
- Android Emulator
- Android Debug Bridge(ADB)
- Dalvik Debug Monitor Service(DDMS)
My First Project
- Simple Android Project
- Anatomy of Android Project
- Creating your first Simple Android Project
Under The Hood
Introduction
- Physical Structure of an Android Application
- Introduction to Application Components
- Activity
- Service
- Content Provider
- Broadcast Receiver
- Application Life Cycle
- Inside the Manifest
Activities
- Activities and View
- Activities in-Depth
- Creating & Registering Activities
- Launching Activities
- Activity and Data Flow
- Returning Data back from Activity
Intents
- Explicit vs Implicit Intents
- Android provided Intents
- Intent Routing
Resources
- Resources Architecture in Android
- Res Folder
- Android Asset Packaging Tool
- Various Resources Types
- RAW Resources
- Assets vs Resources
- Effective Resource Management
UI/UX
- Introduction & Overview
- View Architecture in Android
- View, ViewGroup, Layout & Widget o Layouts
- Linear
- Table
- Frame
- Relative
- Grid
- Common Widgets
- ImageView
- WebView
- Using the Android Hierarchy Viewer
Adapters
- Introduction to Adapters
- Built-in Adapters
- WritingCustomAdapters
- ListView
- ListActivity
- GridView
Fragments
- Introduction to Fragments
- Life-cycle of Fragments
- Creating Fragments
- Fragment Manager and Transaction
- Fragment Backstack
Action Bar
- Anatomy of ActionBar
- Action Items
- Handling Action Items
Events and Gestures
- Touch Events
- Motion Events
- Handling Touch Events
- Gestures
Service
- Services Application Component
- Service Runtime
- Implementing a Local Service
- Registering a Local Service
- IntentService
Broadcast Receivers
- Creating Broadcast Receiver
- Listening for Broadcasts
- Narrow Broadcast Receiver
SQLite
- Introduction to SQLite
- SQLite Classes in Android SDK
- SQLite Helper Classes
- CRUD Operations
Background Work
- Why Threading?
- Loopers
- Java Threading
- AsyncTask
- Handlers
- Messages & Runnables
- Loaders
Multimedia
- Playing Audio/Video
- Recording Audio/Video
- Camera
- Intent based Camera
Web Services
- SOAP Web Service
- RESTful Web Service
- JSON
Google Maps
- Location Service
- Location Listener
- Intents
- Geocoder
- Google Maps API
Native Development Kit
- Introduction to NDK
- SDK vs NDK
- Setting up Eclipse for Native Development
- Building C/C++ Projects using ndkbuild
- Android.mk
- Java JNI Basic
- Creating JNI Wrappers
Profiling
- Eclipse Memory Analyzer
- TraceView
- systrace
- Memory Usage – Dos and Don’ts
Programme scope, delivery arrangements and suitability are confirmed during enquiry.