Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Ultimate Android Marshmallow Tutorial
Objectives of the Course
About this tutorial (3:36)
How the course is organized (2:19)
Android - Platform of the future
Android Architecture (6:00)
Various Versions of Android (3:17)
Dalvik Virtual Machine (3:45)
The Working of Android Apps (3:33)
Brush up your Workshop - Getting all Tools ready
Knowing ADT - the Android Development Toolkit (5:38)
Using the Android SDK Manager (2:57)
Running on different devices - Android Studio updated (8:19)
Installing the Android 5.0 SDK to start things (4:05)
Installing Android Studio - gearing for the future (4:44)
Installing Genymotion and adding to Android Studio (7:20)
Installing Google Play Services on Genymotion (4:52)
Let the show begin - My first Android App
Structure of a Android Application (5:50)
Creating my first project (12:29)
Running your first Project (5:31)
Shape up the Resources - the Strings and Arrays
Defining Resources - String,id,Color (18:24)
Defining Resources - Dimension, String Array (10:54)
Defining Resources - Integer array and more (4:24)
More on Resources - Plurals (6:46)
Resources - the final chapter (1:57)
Understanding R.java (8:19)
Defining Colors for different States - ColorStateList (3:06)
ColorStateList - Getting it all from Java Code (7:35)
Color list Drawable (4:01)
Download the code
Using Format String with Parameters - Same String different values (3:52)
Activity - The building block of an Application
Lifecycle of an Activity (8:19)
Handling Events in Android (7:23)
Intents - the Android Messenger (8:40)
Working of Explicit and Implicit Intents (3:07)
Using In-built Intents (4:55)
Passing Data with Intents (3:56)
Passing Serializable Data with Intents (3:11)
Passing Parcelable Data with Intents (10:23)
Using StartActivityforResult (4:21)
StartActivityForResult - Contd... (7:10)
Context - Application and Activity (6:34)
Working your own Application Class (4:21)
The Android Toolbox - Using UI Widgets
Understanding Gravity and Layout_Gravity (6:11)
Distributing Space with Layout_Weight (8:15)
Distributing Space with Layout_Weight - Contd.. (1:45)
Specifying dimensions in px,dp and sp (9:34)
Specifying Sizes in dp,sp and px - the demo (1:48)
TextView - the Basic Label (7:32)
EditText - getting all from the User (6:34)
Specifying InputFilters for EditText (2:51)
InputFilters Contd... (3:47)
Specifying InputType and IMEOptions for EditText (10:10)
IMEOptions - Specifying IMEActionId and IMEActionLabel (7:24)
Handling actions with EditText (1:56)
The AutoCompleteTextView - Guide the User (5:46)
AutoCompleteTextView - Continued... (2:23)
MultiAutoCompleteTextView - more text more choices (3:12)
CheckBox - Taking choice from the User (4:55)
RadioButton - Limiting user to a Single Choice (5:38)
ToggleButton and Switch - Switching Mind between Options (4:04)
Rate your mind with RatingBar (5:07)
The Rating Continues... (3:06)
Explore the world with WebView (3:57)
Controlling the WebView (2:35)
Loading local html with WebView (4:18)
The WebView continues... (7:53)
Settting the WebView with WebSettings (2:42)
LayoutManagers - Getting it all together
LayoutManagers - basics and LinearLayout discussed (10:32)
Padding and Margins for Views and ViewGroups (3:57)
RelativeLayout - where everything is relative (7:01)
More on Relative Layout .... (7:53)
FrameLayout - One Component at a time (5:34)
FrameLayout - Switching Images (1:57)
TableLayout - Tabling it all in rows (7:03)
Using Spans to control components (3:19)
Using Weight in TableLayout (2:09)
GridLayout - the newest to the block (10:31)
Using Space with GridLayout (4:21)
Including other layouts with include (3:43)
Using merge to include layouts (3:11)
Inflating Layouts with LayoutInflater (8:23)
How LayoutInflater works (1:45)
Understanding the Inflate method parameters (7:39)
LayoutInflater with Merge (3:29)
ViewStub - the Silent Killer (8:40)
ViewStub - Adding view with inflate (7:07)
Designing a UI by Code - Everything now is dynamic (12:03)
Designing UI by code - Continued (5:48)
Designing UI by code - the final chapter (7:24)
Project - 1 :Guess the Puzzle with Hints (2:12)
Handling Concurrency with Android - Threads,Handlers and AsyncTask
How Messages are handled in Android - Loopers and Threads (5:49)
Why use Threads at all - Problem with UI handling (8:58)
Options for Handling UI from a different Thread (4:37)
Handlers - how to use Runnables with Handlers (5:53)
Handlers - Using Messages with Handlers (10:21)
Handlers the Final Chapter (5:46)
AsyncTask - the all in one solution (5:47)
AsyncTask - designing one for my application (9:01)
AsyncTask - the final chapter (3:47)
ListView - where flexibility reigns supreme
Basics of ListView - how to start it all (11:36)
ListView - adding Filters and Multiple Choice Mode (4:01)
Obtaining values selected by User in Multi-Choice ListView (3:21)
Adding Header and Footer View to ListView (4:34)
Adding Header and Footer View to ListView - Contd... (1:21)
Notifiying DataSet Changes for ListView (9:56)
DataSetChanged for ListView Contd... (1:27)
Using SimpleAdapter for ListView Customized View (7:06)
Using SimpleAdapter for ListView Customized View - Contd.. (2:16)
Writing your own Adapter - Taking things in our hands (6:56)
Using Recycled views in My Adapter (5:35)
Using the ViewHolder to Cache View (3:46)
ExpandableListView - Show when required (8:27)
ExpandableListView - Putting code in order (9:36)
ExpandableListView - the final chapter (3:20)
Scrolling a List - Get data as and when needed (11:58)
Scrolling List - Getting things moving (6:28)
Scrolling List - everything in order now (2:05)
Spinner - Make a choice from a selection (9:54)
Customizing a Spinner - make it look lively (8:08)
Designing a GridView - More Views less Space (6:41)
SwipeRefreshLayout - Just Swipe to get new data (11:59)
RecyclerView demo - how things get glued (14:01)
Handling click event on a RecyclerView (4:21)
RecyclerView - the Android5 extension to ListView (5:01)
Using CardView with RecyclerView - flipping views like Cards (1:38)
Flipping CardViews with RecyclerView - writing the code (11:11)
Working with CardViews - Contd. (10:02)
Adding Floating Action Button to RecyclerView (6:55)
Adding Menu to Floating Action Button (8:52)
Adding Menu to Floating Action Button - explore the options (10:50)
Adding Headers to RecyclerView (6:23)
Adding Multiple View Types to a RecyclerView (12:07)
Using GridLayoutManager with variable Span Size (6:12)
Source Code for Lecture 122-128
Notifications - Let the know what you are upto
Notifications - the basic set up (15:56)
Adding actions to Notifications - More help at hand (4:26)
Using Styles for Notifications - BigTextStyle (4:14)
Using Styles for Notifications - BigPictureStyle (4:08)
Using Styles for Notifications - InboxStyle (4:32)
PendingIntent - Why exactly is it pending (3:25)
PendingIntent Flags - Understand the misunderstood (6:36)
PendingIntent Flags continued (4:05)
Notification id - which Notification were you referring (3:36)
Showing Progress with Notifications (8:57)
TaskStackBuilder - Now Home is never away (7:49)
Dialogs - where all conversations are shared
Creating a simple dialog with AlertDialog (4:58)
Adding Multiple Choices to AlertDialog (6:28)
Adding Adapters to Dialog (7:38)
Using Dialog class to Create Dialogs (5:30)
Showing Progress with ProgressDialog - indeterminate (6:15)
Showing Progress with Dialog- determinate (5:50)
Choose a date with DatePickerDialog (6:23)
Select a Time with TimePickerDialog (5:48)
Project (1:36)
Adding Styles and Themes - things made beautiful
Using Spans for appling styles (11:22)
Using ImageSpans and StyleSpans - more Spans more options (7:57)
Adding styles to Views (5:42)
More indepth into Styles - R.style,R.styleable,R.attr (2:49)
Developing Themes with Styles (15:36)
Using Themes and Attributes - the final session (6:33)
Using Shapes to styles Views (11:02)
Designing for all - considering Screen Sizes and Densities
How to deal with all Screen Sizes - the problem beta noire (11:59)
Settling the problem with different folders (7:45)
Getting the Output on different Screens (4:33)
Dealing with different Screen Densities (11:44)
Setting Aliases for resources and Handling Orientation (5:41)
How resources are selected (7:10)
Fragments - Let the both Worlds Merge
Section Objective (0:59)
Why Fragments at all (4:19)
My first Fragment - Add fragment in xml (5:44)
My first Fragment - adding Fragment by code (5:40)
LifeCycle of Fragment - question of life and death (14:47)
Handling events in Fragment (8:29)
Showing Multiple Fragments in Portrait mode (6:09)
Showing Multiple Fragments in Landscape Mode (5:46)
Using a ListFragment - a la ListActivity (6:18)
Efficiently desiging a Fragment - with Arguments (7:48)
A practical Fragment Example (6:44)
Practical Example Contd. - 2 (8:53)
Why we need BackStack with Fragments (3:40)
How BackStack works with code (9:31)
Lifecycle callback methods with backstack (4:58)
Adding multiple operations to a Transaction (2:43)
Why assign labels to Transactions (7:09)
Adding BackStackChangeListener to monitor backstack (5:09)
Calling Activity from Fragment (8:01)
Using DialogFragments - Using Fragments as Dialogs (14:32)
Using FragmentTransaction with DialogFragment (9:53)
Adding Child Fragments - Fragments to a Fragment (4:37)
Managing Orientation Changes - Saving the state when things shake
Lifecycle methods state with Configuration Change (5:13)
Saving and Restoring state (2:32)
How to use OnSaveInstanceState and onRestoreInstanceState (8:47)
The importance of onSaveInstanceState (3:14)
More on onSaveInstanceState (2:57)
Another example for State Save (15:29)
Using onRetainNonConfigurationInstance() to retain state (8:19)
Retaining State in Fragments (12:06)
Final check in Fragments - things to remember (4:50)
Fixing Orientation of the Activity (10:40)
Code for Configuration Changes
ViewPagers - the new way to Swipe and Go
Adding a ViewPager with PagerTitleStrip - The UI gets Interesting (9:59)
Small App demonstrating the use of ViewPager (7:32)
Setting a show Slide with a ViewPager (6:48)
Animating the ViewPager with JazzyViewPager (5:20)
Creating a SemiCircularRadialMenu - the UI gets even better (15:55)
ActionBar - where the action begins
Creating Menus and MenuItems - learn the old way (9:02)
Creating my first ActionBar - Adding Icons, Titles,Drawables,styles to it (13:37)
Creating Split ActionBar and more ... (8:04)
Creating SubMenu by Java Code and Using Intents with MenuItems (4:43)
Using addIntentOptions to let Android find Options (7:32)
Creating Menus by xml Code (7:54)
Using Checkable MenuItems and Groups (7:18)
Handling clicks on MenuItems - all approaches covered (5:59)
Using Fragments with MenuItems (8:17)
ActionBar with Tabs - Now you got Choices (8:44)
Adding ViewPager to Tabs - Just Swipe your Choices (7:04)
Adding Navigation Drawer - navigation is just a click away (18:13)
Adding Dual Navigation Drawer to a Activity (10:09)
Material Theme and Toolbar - Theme demystified
Introduction to Material Theme (5:49)
Material Theme - The code for it (11:52)
Toolbar - Starting with the change (8:02)
Adding more spice to the Toolbar (5:38)
Creating a Standalone Toolbar - a mulitpurpose option (15:13)
Creating a NavigationDrawer with the Toolbar (13:23)
Coding the NavigationDrawer - Writing the code continues (10:37)
Coding the NavigationDrawer - the Gmail type (4:55)
Using the ShareActionProvider - Now share with ease (10:35)
Creating your own ActionProvider - Control unlimited (7:59)
ShareActionProvider - A Practial Approach (12:12)
Using OnTouchListener on RecyclerView - New View New way to handle (11:40)
ContextualActionBar - The new overlay ActioBar - Basics (5:46)
CAB - Setting up the adapter (5:28)
CAB - Setting up the pieces (16:15)
Adding Sliding Tabs to my Screen - Showing more content on the same page (13:20)
Check out the Code
BroadcastReceivers - Listen to things you want to
BroadcastReceivers - What they are ??? (7:55)
Creating your first BroadcastReceiver - define in the Manifest File (8:33)
Creating Multiple Receivers - Setting the order (7:53)
BroadcastReceivers - More Explored (4:55)
Creating a dynamic BroadcastReceiver - create it when required (5:58)
Using Ordered Broadcasts - understanding the concept (5:29)
Ordered Broadcasts - gettign it all together (7:40)
Using Permissions with Broadcasts (6:31)
Sticky Broadcasts - The way to remain sticky (14:34)
Using Broadcasts - Handling outgoing calls with BroadcastReceivers (8:48)
Local Broadcast Receiver - where data remains local (11:04)
Responding to Incoming Calls (5:58)
Responding to Incoming SMS (7:02)
Handling Send and Delivered status of SMS with BroadcastReceiver (18:28)
Code
Sharing Socially - Let the world know
Getting started with Facebook - Setting up the Environment (12:58)
New - The New Facebook API - 4.6.0 - Updated (8:12)
NEW - Login with the Facebook Login Button (3:39)
New - Getting Profile Information from Facebook (8:05)
New - Getting Profile Information from Facebook - contd (3:17)
New :Using own Button for Facebook Login (6:27)
New : Get data from Facebook with Graph API (4:45)
New : Adding Profile Picture from the Facebook API (3:19)
NEW - Share stuff on Facebook (7:46)
Code
Coding Exercise
OLD-Login with Facebook - using Facebook login Button (11:34)
Old - Get User information from Facebook (8:58)
Old - Getting Friends list from Facebook (8:17)
Old- Log in to Facebook with your own UI (6:15)
Sharing Feed on Timeline - Using Facebook Feed Dialog (16:05)
Sharing Content with WhatsApp (11:24)
Sending Whatsapp message to single Number (4:09)
Getting Started with Twitter (7:32)
Setting up the basics for Twitter Login (8:17)
Continuing with Twitter Login - getting the pieces together (6:34)
Twitter Login - the final Chapter (10:31)
Uploading status updates on Twitter (8:20)
Code Examples
AQuery - Things made easy
Getting started with AQuery (10:42)
Loading , Caching & Storing Images with AQuery (10:31)
Contacting a WebService with AQuery (6:10)
Practical App to get Data from Google Places with AQuery JSon (18:01)
Posting updates to Web Services with AQuery (5:58)
Uploading Text and Images to Web Services with AQuery (9:32)
Code
Services - Where things go background
What exactly is a Service - get to know the basics (4:41)
Service - Lifecycle of a Service (8:22)
Learning about Local Services (7:49)
A practical demo on using Services (7:07)
IntentService - a ready to use Service (4:27)
Communicating between Service and Activity (13:32)
Using bindService to Bind to a Service - Writing the Service Code (6:26)
Using bindService to Bind to a Service - Writing the Activity Code (8:07)
Using AIDL - when things are not in same process (6:39)
Using AIDL - binding all the code (11:14)
Communicating with Service using Callbacks (9:12)
Code
Running Services in the Foreground - Not Background but Foreground (7:02)
Google Cloud Messaging - now users are just a click away
GCM - how it works (5:58)
GCM - how it works (10:15)
Registering Mobile for GCM Notifications-1 (11:13)
Registering Mobile for GCM Notifications - II (18:14)
Checklist - Check if have got all things in place so far
Code
Check your progress
Setting up to receive messages (4:30)
Setting up the BroadcastReceiver and Service to Process Messages (7:42)
Setting up the Server Code ( in PHP) (8:52)
Practice the Code
Coding Excercise
Location ,Location, Location - how to work with Fused Location provider
Basics of Location Handling (4:34)
Fused Location Provider - how it works (3:06)
Setting up for Location Services - get started (5:00)
Where am I - writing the code (7:47)
Where am I - the final part (3:28)
Location Updates - when one location is not enough (10:17)
Check your skills
Summary and Code
Exercise - Try for yourself
Geocoding - Making location meaningful (3:29)
Geocoding - Unveiling the Code (6:25)
Geocoding - Code contd.... (6:10)
Running the Code (1:37)
Download the Code
Working with Google Maps v2 - get everything on the Map
Setting up for Google Maps - the nuts and bolts (3:11)
Generating the Google Maps Key (4:21)
Setting up the basics for Google Maps - Contd (3:31)
Making changes to the Manifest File (4:08)
Making the final checklist (1:01)
My first Google Map (2:49)
Code
Using CameraPosition to move Places (8:35)
Using Tilt and Bearing - how it works (1:39)
Choosing the MapType (4:19)
Animating to new location (5:10)
Coding Practice
Solution to the practice excercise
Basics for Markers - learn to create one (2:57)
Adding Markers to your Google Map (6:10)
Handling onClick on the Google Map (4:30)
Hiding and showing InfoWindows (6:34)
Using PolylineOptions on the Google Map (4:34)
Practice Exercise
Source Code
Solution to the practice excercise
Create a path sketching Application with Markers (7:53)
Source code for the Drag application
Street View and its application in Android Apps
StreetView -Sounds interesting, what is it (2:13)
Getting down to Code - Creating a StreetView yourself (7:01)
My First Street View - Getting it work (3:08)
Street View - all Options Explored (3:30)
Source Code
Developing application with Maps and Street View - Click on Map and see the View (1:56)
Setting up the UI for the app (1:07)
Coding up the App - the final step (8:00)
Check out the final Demo (1:30)
Designing your own InfoWindow Layout (2:24)
Getting down to code the Adapter (7:09)
Wiring the final parts for Custom InfoWindow (4:19)
Source Code
Practice Exercise
Add Google Sign-in to your App
Setting up for Google Sign-in (3:49)
Enabling the Google Sign-In API (3:28)
Setting up the UI (2:52)
How Google Sign-In works - Get the complete picture (3:01)
Getting down to Code (9:12)
Start off with Sign In - credentials are just a form away (5:34)
Winding up the Code - the finishing touch (4:55)
Running the code - the final demo (1:19)
Sharing on Google+ - How it works (2:11)
Silent login with Google Sign-In (5:39)
Source Code
Geofencing - Mark and track areas of interest
Geofencing - What exactly is Geofencing (4:21)
How Geofencing works - Know the Setup (4:31)
Setting up the UI - how things look (1:23)
Coding up the Activity - the interest rises (5:46)
Create Geofences with input from the User (3:44)
Getting the current location - setting up the App (3:40)
Lining up the Geofences - the GeofencingRequest object (2:19)
Connecting between the trigger and IntentService - the PendingIntent (2:35)
Creating the IntentService to handle Geofence triggers (5:48)
Finishing off the Code - the final part (5:41)
Watch the App Demo (3:18)
Check out the Source Code
Material Design - the new set of components
NavigationView - simple widget for Navigation Drawer (3:21)
Setting up the Theme and Gradle file (2:59)
Build up the UI (5:12)
Adding Fragments to Activity (3:07)
Building the Main Activity (6:01)
Handling the Menu Item clicks and final touch (5:40)
Check out the demo (1:35)
Manipulating the Header View - Code and Demo (2:50)
Customizing the Menu Items (3:39)
Download the Code
Floating Action Button (FAB)- the new fab on UI designs (2:24)
Adding a Simple FAB to a UI (4:26)
Designing a Practical Application for FAB (2:09)
Setting up the UI for the App (4:01)
Coding the App to add Notes in View (4:37)
FAB App - the final code (9:44)
Download the Code
Snackbar - Time for some Snacks over the Toast (1:54)
Adding a simple Snack to your Activity (3:21)
Adding action to the Snackbar (6:13)
Using the CoordinatorLayout with Snackbar (4:17)
Download the Code
Mocking the Collapsing Layout of WhatsApp Profile (1:26)
Setting up the UI - Connecting Toolbar to Scrolling views (3:37)
Setting up the AppBarLayout and RecyclerView (4:05)
Collapsing Toolbar Layout - the magic begins (3:26)
ScrollFlags - mystery demystified (8:27)
Parallax effect- the final part (8:47)
Nested Scroll View - Add multiple scrolls to your Activity (3:08)
Download the Code
TabLayout - Arranging the content on the same page (2:49)
Setting up the TabLayout UI (4:08)
Setting up the Fragments for ViewPager (3:40)
TabLayout - the final part (4:44)
Download Code
Using RecyclerView with TabLayout (1:51)
Setting up the UI (2:39)
Finishing up the Adapter and Fragments - the final part (7:02)
Download the Code
Getting it all together - NavigationView, AppbarLayout,FAB,TabLayout and ViewPager (4:01)
Setting it all up - the final App (6:13)
Source Code
Palette API - Colors like never before
Basics of Palette API (7:01)
Setting up the UI (1:19)
Finishing up the Code (3:23)
Listing all Swatches in a palette and final demo (3:24)
Download the code
Using Collapsible Toolbar with Palette (3:15)
Download the code
My first Google Map
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock