Android
Syllabus
Android Course Overview
The goal of Android App Development Training course is to provide developers easy and complete understanding of the Android App Development with our Class Room Training. The Android Training course provides a series of sessions & Lab Assignments which introduce and explain Android features that are used to code, debug and deploy Mobile Applications
Pre-requisites of the Course
- Development in Java Programming Language
- Understanding of application development frameworks, environments, tools and processes
Android Training Objectives
- Upon completion of this course, attendees will be able to
- Understand Android platform architecture
- Design, develop, debug, and deploy Android applications
- Use Android SDK’s Emulator to test and debug applications
- Construct user interfaces with built-in views and layouts
- Define custom view and layout
- Develop SQLite Data base
- Secure Android applications
- Write multimedia Android applications
- Write location-based applications
- Interact with Servers using Web Services
Course Duration
- 45 Working days, daily 1.30 hours
Android Training Course Overview
Introduction to Android
- Overview of Android
- Java Editions and comparison with Android
- Android Apps – Design, Vendor, Behavioral Classification
Android Architecture Overview
- Android Architecture
- Application Frameworks
- Android Libraries, Run time, Dalvik Virtual Machine
Setup of Android Development Environment
- System Requirements
- Java, Eclipse and Android SDK Installation
- Android SDK andTools
- Android Virtual Devices & Device Definitions
Your Android Application
- Android Application Design
- Using PhotoShop for Graphic Designing
- Android Application Wireframes (screens)
Your First Android Application
- Creating Android Application
- Creating Configurations
- Testing the app: AVD, Active Device
- Android Project Structure and Manifest file
Publishing to the Play Store
- Release process and Release build of Android Application
- Signing the .apk file
- Preparing the Store Listing page
- Content Rating
- Distributing the Application
- Merchant Registration for Paid Applications
Activities
- About XML – approach to design layouts
- Views and Layouts
- View properties
- Linear Layout vs. Relative Layout vs. Frame Layout vs. Absolute Layout
- Localization of UI
- Best practices for targeting various form factors: phone, tablet, TV
- Best practices when working designing Android UI
Android Testing
- Creating a Test Project for Android project
- Working with Test Packages
- Writing test cases
Fragments
- Designing fragments
- Fragments life cycle
- Fragment management and integration
User Interfaces
- Creating the Activity
- XML versus Java UI
- Selection Widgets, Using fonts
- Common UI components
- Handling UI events: a bit about listeners
Advanced UI
- Adapters
- Complex UI components
- Menus and Dialogs
- Tabbed Activities
- Navigation Drawer
- Animations
- Create activity layouts programmatically
- Testing and optimizing UI
Android Material Design
- What is material ?
- Material properties and Styling / Animations
- Material Patterns
Resources
- Overview of Android Resources
- Creating Resources
- Using Resources
- Drawable Resources
- Animation Resources
Broadcast Receivers
- Broadcast receiver usage patterns: when and why to use them
- Implementing a broadcast receiver
- Registering a broadcast receiver via the manifest file and Programmatically
Background Services
- Overview of Android services
- Service lifecycle
- Declaring a service
- Registering a service
- Starting and stopping a service
- Threads and other concurrency considerations with services
- Bound versus unbound services
- Remote versus local services
Intents
- Working with Intents
- Explicit and implicit intents
- Using Intents as messaging objects
- Intents to start components expecting results
Storing and Retrieving Data
- Storage Model selection criteria
- Shared preferences
- Internal Storage – Files
- External Storage – SD Card
- Testing the created files, tools
SQLite Database
- Introducing SQLite
- SQLiteOpenHelper and creating a database
- Opening and closing a database
- Working with cursors
- Inserts, updates, and deletes
Native Content Providers
- Content provider types
- Searching for content
- Adding, changing, and removing content
- Native Android Content Providers
- Accessing Contact Book, Calendar
Custom Content Providers
- Custom Content Provider classes
- Publishing content providers
Web Services
- Understanding Web Services
- Web Services Architecture
- Building Server side components
- Publishing web services
- REST based web services
- Accessing Web Services
- Integrating Web Services with mobile client
- Overview of networking
- Checking the network status and web service status
- Working with HTTP to access the web services
Parsing, Parsers
- Document Object Model ( DOM )
- Simple API for XML ( SAX )
- JavaScript Object Notation ( JSON )
- Parsing XML and JSON
Location Based Services
- Using Location Manager, Location Provider
- GPS and Network based tracking
- Testing the application using KML files
- Simulation of the locations on the active device
- Location Listeners and Proximity Alerts
Integrating Google Maps
- API Version 2 of Google Maps
- User Interface – MapFragments
- API key generation
- Registrations in the manifest file
- Google Map, Camera Positions
- Adding Markers, Circles, Polylines
- Google Maps Directions API
Telephony
- Telephony background
- Accessing telephony information
- Monitoring data activity and connectivity
- Working with messaging SMS
Multimedia in Android
- Playing Audio & Video
- Recording Audio & Video
- Customizing Camera & Capturing Photos
- Voice Recognition
- Text To Speech
Bluetooth
- Controlling local Bluetooth device
- Discovering and bonding with Bluetooth devices
- Managing Bluetooth connections
- Communicating with Bluetooth
Social Networking Integrations
- Facebook Integration
Debugging and Testing Android Apps
- Logcat
- Debugger
- Traceview
- HierarchyViewer
- Monkey Runner
- UIAutomator