Course Outcome:
At the end on this course the students will gain enough knowledge to create and publish their own Apps for Google Android devices as well as ability to learn advanced topics through self study methods we will teach them. All students will be provided CDs containing software, project source code, as well as certificates for attending the course.
Full Syllabus:
1) Introduction To Mobile Apps
I. Why we Need Mobile Apps
II. Different Kinds of Mobile Apps
III. Briefly about Android
2) Introduction Android
I. History Behind Android Development
II. What is Android?
III. Pre-requisites to learn Android
IV. Brief Discussion on Java Programming
3) Android Architecture
I. Overview of Android Stack
II. Android Features
III. Introduction to OS layers
4) Deep Overview in Android Stack
I. Linux Kernel
II. Libraries
III. Android Runtime
IV. Application Framework
V. Dalvik VM
5) Installing Android Machine
I. Configuring Android Stack
II. Setting up Android Studio
III. Working with Android Studio
IV. Using Older Android Tools
6) Creating First Android Application
I. Creating Android Project
II. Debugging Application through DDMS
III. setting up environment
IV. AVD Creation
V. Executing Project on Android Screen
7) Android Components
I. Activities
II. Services
III. Broadcast Receivers
IV. Content Providers
8) Hello World App
I. Creating your first project
II. The manifest file
III. Layout resource
IV. Running your app on Emulator
9) Building UI with Activities
I. Activities
II. Views, layouts and Common UI components
III. Creating UI through code and XML
IV. Activity lifecycle
V. Intents
VI. Communicating data among Activities
10) Advanced UI
I. Selection components (GridView, ListView, Spinner )
II. Adapters, Custom Adapters
III. Complex UI components
IV. Building UI for performance
V. Menus
VI. Creating custom and compound Views
11) Notifications
I. Toast, Custom Toast
II. Dialogs
III. Status bar Notifications
12) Multithreading
I. Using Java Mutithreading classes
II. AsyncTask
III. Handler
IV. Post
V. Writing an animated game
13) Styles And Themes
I. Creating and Applying simple Style
II. Inheriting built-in Style and User defined style
III. Using Styles as themes
14) Resources and Assets
I. Android Resource
II. Using resources in XML and code
III. Localization
IV. Handling Runtime configuration changes
15) Intent, Intent Filters and Broadcast Receivers
I. Role of filters
II. Intent-matching rules
III. Filters in your manifest
IV. Filters in dynamic Broadcast Receivers
V. Creating Broadcast receiver
Receiving System Broadcast
VI. Understanding Broadcast action, category and data
VII. Registering Broadcast receiver through code and through XML
VIII. Sending Broadcast
16) Data Storage
I. Shared Preferences
II. Android File System
III. Internal storage
IV. External storage
V. SQLite
a. IntroducingSQLite
b. SQLiteOpenHelper and creating a database
c. Opening and closing adatabase
d. Working with cursors Inserts, updates, and deletes
VI. Network
17) Content Providers
I. Accessing built in content providers
II. Content provider MIME types
III. Searching for content
IV. Adding, changing, and removing content
V. Creating content provider
VI. Working with content files
18)Services
I. Overview of services in Android
II. Implementing a Service
III. Service lifecycle
IV. Inter Process Communication (AIDL Services)
19) Multimedia in Android
I. Multimedia Supported audio formats
II. Simple media playback
III. Supported video formats
IV. Simple video playback
20) Location Based Services and Google Maps
I. Using Location Based Services
II. Finding current location and listening for changes in location
III. Proximity alerts
IV. Working with Google Maps
i. Showing google map in an Activity
ii. Map Overlays
iii. Itemized overlays
iv. Geocoder
v. Displaying route on map
21) Web Services and WebView
I. Consuming web services
II. Receiving HTTP Response (XML, JSON )
III. Parsing JSON and XML
IV. Using WebView
22) Sensors
I. How Sensors work
II. Using Orientation and Accelerometer sensors
III. Best practices for performance
23) WiFi
I. Monitoring and managing Internet connectivity
II. Managing active connections
III. Managing WiFi networks
24) Telephony Services
I. Making calls
II. Monitoring data connectivity and activity
III. Accessing phone properties and status
IV. Controlling the phone
V. Sending messages
25) Camera
I. Taking pictures
II. Media Recorder
III. Rendering previews
26) Bluetooth
I. Controlling local Bluetooth device
II. Discovering and bonding with Bluetooth devices
III. Managing Bluetooth connections
IV. Communicating with Bluetooth
26) More
I. Fragments
II. Material Design
III. Gradle
IV. NEW TOPICS: Since each new version of Android has new features, we keep extra time for adding custom topics in every batch. You can request any Android Topic.
28) Android Application Deployment
I. Android Application Deployment on device with Linux and Windows
II. Android Application Deployment on Android Market