Duration 5 days – 35 hrs
Overview
The Android with Java Training Course is designed to provide participants with the knowledge and skills necessary to develop Android applications using the Java programming language. This course covers a wide range of topics and is typically geared toward individuals who want to become proficient Android app developers or those looking to enhance their mobile app development skills.
Objectives
- Introduction to Android: Participants will gain an understanding of the Android ecosystem, its history, and the role of Android in the mobile app industry.
- Java Essentials: The course covers Java programming fundamentals, ensuring participants have a strong grasp of the language, which is essential for Android development.
- User Interface Design: This segment focuses on designing and creating user interfaces for Android applications, including the use of XML layouts and Java-based UI components.
- Working with Data: Participants will learn how to store and retrieve data using SQLite, handle RESTful APIs, and manage data storage in Android apps.
- App Development Essentials: Key Android concepts like activities, fragments, intents, and navigation are explored, along with handling notifications, permissions, and debugging.
- Multimedia and Graphics: This module covers working with multimedia elements, graphics, animations, and integrating device features like the camera and sensors.
- Building and Publishing Apps: The course guides students through the process of building Android apps, preparing them for deployment to the Google Play Store.
- Advanced Topics: Advanced concepts such as geolocation, security, Bluetooth, and performance optimization are discussed.
- Capstone Project: Participants apply their knowledge by creating a complete Android application, either individually or in groups, with guidance from instructors.
- Career Development and Job Preparation: This module helps participants prepare for a career in Android development by building portfolios, refining resumes, and learning about job opportunities in the field.
Audience
- Basic programming knowledge, with a preference for Java
- Familiarity with object-oriented programming concepts
- A computer with Android Studio installed
Pre- requisites
- Aspiring Android app developers
- Java programmers looking to transition into Android development
- Individuals interested in building mobile apps for Android
Course Content
Day 1
Introduction to Android
- Overview of Android and Android SDK
- History of Android
- Android Features
- Development
Android Architecture Overview & Setup
- Android OS Architecture
- Linux Kernel
- Libraries
- Android Runtime (DVM/ART)
- Application Framework
- Setting up Android Development Environment
- System Requirements
- Android Studio, SDK Installation and AVD Creation
Introduction to New Android Studio and Gradle Build System
- Hello world App
- Introduction to new Project hierarchy in Android Studio.
- Difference between Android Studio and Eclipse.
- Introduction and power of New Gradle Build System.
Android Application Fundamentals
- Android Application Building blocks
- Creating of First Application
- Life Cycle of Activity
- Manifest File
- Development Tools
Resources
- Android Resources
- String Resources
- Color Resources
- Dimensions Resources
- Image Resources
- Layout Resources
- Allocating ID to Resources
- Resource Directory Structure
User Interface Designing
- Views
- Layouts
- Buttons controls
- Input controls
- Date & Time control
- Text control
- Scroll view
Event Handling and Adapter
- Input Events
- Notifying User
- Event Delegation Model
- on Click Attribute
- List View
- Understanding Adapter classes
- Creating custom Adapters
Intents and Terminology
- Basics of Android Intent
- Types of Intents
- Explicit Intent – Transition between Activities
- Transferring of data between Activities
- Implicit Intent
- Intent Resolution
- Sub – Activity Intent callback
Day2
Dialogs
- Custom Dialogs
- Alert Dialogs
- User Input Dialogs
- Progress Bar Dialogs
- Toasts
Action Bar & Menus
- Action Bar and terminology
- Action Bar Navigation Mode
- Customization of Action Bar
- Static Creation of Option Menus
- Dynamic Creation of Options Menus
- Handling of Option Menu
- Creation of Context Menu
- Handling of Context Menu
Fragments and Terminology
- Screen Size and Density
- What is Fragment
- When to use Fragments
- Fragment Structure
- Lifecycle of Fragments
- Creation of Fragments
- Tasks and Back Stack
- Communication with Activity
- Communication between Fragments
- Fragment Transactions
- Managing Fragments
- Usage of addToBackStack() callback
- Adaptive Layout Application Design Using Fragments
Services
- Introduction to Service
- Types of Service
- Declaring Service in Manifest file
- Creating a Started Service
- Extending Intent Service Class
- Extending Service Class
- Starting a Service
- Stopping a Service
- Creating Bound Service
- Managing lifecycle of a Service.
Threads, Handlers and Asynchronous Tasks
- Android Components and Threading
- Handlers
- Async Task Class
- Implementation of Progress bar using Async Task
Data Storage
- File Storage
- Internal and External Storage
- Shared Preferences
- SQLite Database
- Content Provider
Networking and Web Services
- Understanding Mobile Networking Fundamentals
- Connectivity Manager and NetworkInfo Classes
- Connecting to the Internet Using Async Task
- Downloading an Image
- Introduction to Web Services
- Consuming of REST Web Services (JSON)
Maps & Location Based Services
- Adding Google Maps
- Customization of Maps
- New Android 6.0 Permission Check
- Current Location of User
- Location based Services
Day3
Working with Media API
- Using Media API
- Playing Audio Content
- Playing Video Content
Broadcast Receiver & Notification
- Broadcast Receiver
- Sending a Broadcast
- Coding a Simple Receiver
- Registering the Broadcast Receiver in the Manifest file
- Creating Notification Using New Android 6.0 Model
- Integrating Notification and Broadcast Receiver.
Security & Permissions
- Understanding the Android Security Model
- Declaring and Using Permissions
- Understanding and Using Custom Permission
- Designing a Hacking Application
Application Deployment
- Creation of Small Application
- Signing of Application
- Deploying app on Google Play Store
- Become a Publisher
- Developer Console
Android Resources, Themes, and Material Design
- Introduction
- Android resources
- Android Themes and Styles
- Android Material Design
- Methods to Remember
Android UI- Dialogs , Menus and Web View
- Introduction
- User interaction through messages
- Dialogs
- Activities and Dialog Theme
- Toasts
- Menus
- Context menus
- Additional menu Item Options
- Pop up Menus
- Web View
- Methods to Remember
Android Storage and Background processing
- Android Storage Options
- File I/O
- Shared Preferences
- Connecting to the Internet
- Background Processing
Android Storage: SQLITES and Content provider
- Introduction
- Databases in Android
- Content Providers
- Native Android Content Providers
- Custom Content Provider
- Sync Adapters
Day4
Android Notifications
- Introduction
- Creating a notification
- Notification Actions
- Expandable Notifications
- Notification Layouts
- Notification Priority
- Notifications in Android 5.0
Adaptive Design & Material Design
- Getting Started
- Using Material Theme
- Creating Lists and cards
- Defining Shadows and Clipping Views
- Working with Drawables
- Defining Custom Animation
- Defining Custom Animation
- Maintaining Compatibility
Android 2D Animation
- Frame by Frame Animation
- Layout Animation
- View Animation
- Property Animation
Touch Screens, Gestures & Drag and Drop
- Understanding Motion Events
- Single Touch Events
- Velocity Tracker
- Multi Touch Events
- Gestures
- Drag and Drop Implementation
Home Screen Widgets
- Understanding Widget Configuration
- Lifecycle of Widget
- Implementing a Widget.
Google Cloud Messaging(GCM) With Android
- What is Google Cloud Messaging
- Key Building blocks of GCM
- Using GCM in Your Application
- Authenticating GCM Communication
Social App Integration
- Introduction
- Understanding of SocialAuth Libs
- Facebook Integration
- Twitter Integration
- LinkedIn Integration
- MySpace Integration
Loaders
- Understanding Loaders Architecture
- Basic Loader API Classes
- Initializing the Loader
- Implementing onCreateLoader()
- Implementing onLoadFinished()
- Implementing onLoaderReset()
- Writing Custom Loaders
Day5
Contact API and Message API
- Understanding Loaders Architecture
- Basic Loader API Classes
- Initializing the Loader
- Implementing onCreateLoader()
- Implementing onLoadFinished()
- Implementing onLoaderReset()
- Writing Custom Loaders
Zopim Chat Integration
- Introduction to Zopim Chat
- How it works
- Connecting your App to Zopim
- Providing Known Visitor Data
- Starting a chat
Google Analytics and Google Tag Manager for Mobile
- Introduction to Google Tag Analytics
- Universal Google Analytics
- Introduction to Google Tag Manager
- Implementation of Google Tag Manager for Mobile
Multimedia
- Wallpaper
- Live Wallpaper
- Multimedia API
- Playing Audio
- Creating Audio Player
- Playing Video
- Alarm Manager
- Gallery
Speech API
- Text To Speech API
- Text To Speech Example
- Managing speed and pitch
- Speech To Text
Telephony API
- Telephony Manager
- Get Call State
- Call State Broadcast Receiver
- Simple Caller Talker
- Making Phone Call
- Send SMS
- Send Email
Location API
- Location API Fundamental
- Example of Android Location API
- Working with Google Maps
Animation
- Android Animation API
- Android Drawable class
- Android Animation Example
- Android Rotate Animation
- Android Fade Animation
- Android Zoom Animation
Device Connectivity
- Bluetooth Tutorial
- List Paired Devices
- Working with WiFi
- Working with Camera
Sensor
- Sensor API
- Motion Sensor
- Position Sensor
- Environmental Sensor
- Sensor Values
- SensorManager class
- Sensor Class
- SensorEvent class
- SensorEventListener interface
- Compass Acceslerometer and Orientation Sensors