Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Android 14 & Kotlin Masterclass
Update to Android 14 - Day 1 - Setting Everything Up
What you will learn in this course and how it is structured (14:57)
Thanks a lot for taking the course (0:57)
How to get most out of this course (4:23)
Where should you start? (3:30)
Day 1 - Downloading Android studio (6:50)
Day 1 - Installing Android studio (1:27)
Day 1 - Install Android Studio on Linux
Day 1 - Setting up our First Project (8:12)
Day 1 - Overview of the Android Studio Interface (9:13)
Day 1 - Understanding Gradle (1:28)
Day 1 - Changing the Scaling in Android Studio (1:44)
Day 1 - Setting up our Emulator (9:04)
Day 1 - Tip of the Day (1:16)
Day 1 - Changing our code for the first time (5:16)
Day 1 - Understanding Preview (3:34)
Day 1 - Imports and Packages (6:30)
Day 1 - Understanding the MainActivity OnCreate and Composable (11:06)
Let's test your initial understanding and see if you are ready for the next day!
Day 1 - Finishing the Day 1 (3:42)
New Feature: Learning Paths
Update to Android 14 - Day 2 - Rock Paper Scissors and Kotlin Basics
Day 2 - Welcome to Day 2 (1:49)
Day 2 - Overview of what Rock Paper Scissors is build of (2:55)
Day 2 -Overview of what variables are (3:37)
Day 2 - Int data type (9:27)
Day 2 - Running "Hello World" (8:28)
Day 2 - Val vs. Var and print ints on the console (5:40)
Coding Exercise - Understanding Variable Types and Printing in Kotlin
Day 2 - Int, Long, Short, Byte and specifying the type manually (3:31)
Day 2 - Float and Double (5:36)
Coding Exercise - Demonstrate the use of floating point data types in Kotlin
Day 2 - Unsigned Integers (3:00)
Day 2 - Booleans true false negation (4:46)
Coding Exercise - Understanding Booleans in Kotlin
Day 2 - Char, Unicode and Backslash escape character (4:58)
Day 2 - Strings (8:52)
Day 2 - If Else Statements (5:32)
Day 2 - Readln and toInt to convert strings into int variables (6:53)
Coding Exercise - String to Integer Conversion and Basic Input Handling in Kotlin
Day 2 - Else if and the in keyword (6:26)
Coding Exercise - Exploring "if-else if-else" in Kotlin
Day 2 - Rock Paper Scissors Part 1 - Getting the Computer's Choice (7:38)
Day 2 - Rock Paper Scissors Part 2 - Finding out the Winner (7:05)
Day 2 - Rock Paper Scissors Part 3 - Presenting the Winner (6:16)
Day 2 - While loops with counters (5:24)
Day 2 - While loops with user input (4:04)
Coding Exercise - Validate Player Input in Rock-Paper-Scissors Game
Day 2 - Finishing the Day 2 (3:05)
Summary of Day 2
Update to Android 14 - Day 3 - Functions, Objects and Coffee Machines
Day 3 - Welcome to Day 3 (0:54)
Day 3 - Amy and her Coffee Function (7:31)
Day 3 - Adding Sugar - Functions with Parameters (4:48)
Coding Exercise - Sugar Spoon Grammar
Day 3 - Quiz Challenge Solution - 1 Spoon 2 Spoons (3:34)
Coding Exercise - Enhancing the Coffee Machine in Kotlin
Day 3 - Quiz Challenge Solution - Who is the coffee for (3:56)
Day 3 - BONUS Quiz Challenge Solution - Who is the coffee for with user input (4:02)
Day 3 - Functions that return something (4:56)
Coding Exercise - User Input Arithmetic in Kotlin
Day 3 - QuizChallenge Get User Input to Add two numbers (2:25)
Day 3 - More about Return types (6:29)
Coding Exercise - Calculating Average Using Kotlin Functions
Day 3 - Limitations of Output - Return Types (2:13)
Day 3 - Classes Story Time (2:27)
Day 3 - Creating our First Class and Object (8:18)
Day 3 - Understanding Constructors and Default Values (10:31)
Coding Exercise -Implementing a Kotlin Class with Constructors and Default Value
Day 3 - Accessing and Changing Properties (2:41)
Day 3 - Data Classes and Coffee (11:28)
Day 3 - Finishing Day 3 (3:13)
Summary of Day 3
Update to Android 14 - Day 4 - Lists and Objects
Day 4 - Welcome to Day 4 (1:37)
Day 4 - Multiline Comments (2:14)
Day 4 - Listof and MutableListOf (9:02)
Day 4 - Index in Lists (6:09)
Day 4 - Modifying specific items in a List (3:28)
Day 4 - Set Method on Lists (1:59)
Day 4 - Contains Method - Check if item is in the list (3:14)
Coding Exercise - List Manipulation Practice in Kotlin
Day 4 - For Loops with Lists (5:02)
Day 4 - Getting the Index in a for loop (7:41)
Coding Exercise - Looping Through Lists in Kotlin
Day 4 - BankAccountApp - Private Keyword and Defining List Type (9:46)
Day 4 - BankAccountApp - Implementing the functionality (10:48)
Coding Exercise - Enhancing the BankAccount Class in Kotlin
Day 4 - Finishing Day 4 (3:23)
Summary of Day 4
Update to Android 14 - Day 5 - Our First App - Unit Converter
Day 5 - Welcome to Day 5 (1:45)
Day 5 - XML and Jetpack Compose (3:29)
Day 5 - Creating a Project and Understanding the Code with our New Knowledge (12:03)
Day 5 - Creating our own Composables and Understanding Column (6:34)
Day 5 - OutlinedTextField and Anonymous Functions (7:01)
Day 5 - Adding a Preview (3:47)
Coding Exercise - Implementing and Previewing Composables in Jetpack Compose
Day 5 - Button, onClick and Toast (6:47)
Day 5 - Box, Icons and DropDownMenus (7:53)
Day 5 - Modifier, VerticalArrangement and HorizontalAlignment (6:16)
Day 5 - Spacer vs Padding (6:25)
Coding Exercise - Exploring Spacing: Padding vs Spacer in Jetpack Compose
Day 5 - Adding DropdownMenus and DropDownMenuItems (8:29)
Day 5 - Finishing Day 5 (6:13)
Summary of Day 5
Update to Android 14 - Day 6 - Unit Converter Part 2 and Understanding State
Welcome to Day 6 (3:52)
Day 6 - State - Recomposition - Remember and MutableState (3:34)
Day 6 - Captains Remember States and Treasures (14:07)
Coding Exercise: Enhancing the Captain Game with Additional Features
Day 6 - Challenge Solution - Storm or Treasure (3:17)
Day 6 - Understanding the by keyword (2:53)
Day 6 - Implementing State to our OutlinedTextField (10:53)
Day 6 - Implementing iExpanded for DropdownMenu and collapse it (9:33)
Day 6 - Converting and Finishing the DropDownMenu Input (8:29)
Day 6 - Taking Care of the right output and Bug fixing (8:50)
Day 6 - Changing the Font of our Text (8:56)
Day 6 - Finishing Day 6 (3:29)
Summary of Day 6
DOWNLOAD SOURCE - UNIT CONVERTER
Update to Android 14 - Day 7 - Shopping List App - Learning Loads of UI Features
Welcome to Day 7 (0:53)
Day 7 - The Shopping List App (5:23)
Day 7 - Starting with the Shopping List UI by adding a button (4:38)
Day 7 - Lucy's Infinite Bookshelf and Jamies LazyColumn (3:04)
Day 7 - Adding the LazyColumn and the Data Class (8:46)
Day 7 - Moving our ShoppingListApp Code into a separate file (2:03)
Day 7 - Understanding and setting up the AlertDialog (5:56)
Day 7 - Modifying our AlertDialog and Understanding that there (8:23)
Day 7 - Finishing our AlertDialog and saving the Shoppinglist item (9:29)
Day 7 - Setting up how a listitem should look like (10:28)
Day 7 - A little more on Lambda expressions (6:58)
Day 7 - Finishing our ShoppingListItem Composable using IconButtons (4:41)
Day 7 - ShoppingItemEditor (11:20)
Day 7 - Map Keyword (3:16)
Day 7 - Copy Method (3:09)
Day 7 - let and nullable (3:32)
Coding Exercise - Understanding the Shopping List App Composable Structure
Day 7 - Finalizing the App (14:42)
Day 7 - Finishing Day 7 (3:19)
Summary of Day 7
DOWNLOAD SOURCE - SHOPPING LIST APP
Update to Android 14 - Day 8 - MVVM - Model View ViewModel - Architecture
Day 8 - Kingdom of Appdom and The Royal Orchestra MVVM (1:52)
Welcome to Day 8 (2:50)
Day 8 - Counter App - Rotating Phone and Losing State (6:46)
Day 8 - Converting Counter App with MVVM (10:54)
Day 8 - Functions that didn't exist and could be called (6:00)
Day 8 - Inheritance 2 - Override and Super Keywords (6:59)
Day 8 - Interfaces - learning from multiple sources (8:48)
Day 8 - Why Interfaces (3:11)
Day 8 - Setting up the Model and the Repository for MVVM (10:51)
Day 8 - Why MVVM and Why Repository (4:54)
Day 8 - Finishing Day 8 (2:57)
Summary of Day 8
Update to Android 14 - Day 9 - JSON, Retrofit, HTTP Requests and Restful APIs
Welcome to Day 9 (2:09)
Day 9 - The Scroll of DataVille - JSON Analogy (2:20)
Day 9 - JSON - what it really stands for (4:54)
Day 9 - Understanding the Structure of JSON (9:28)
Quiz - Understanding JSON and Data Classes in Kotlin
Day 9 - TheMealDB and how we will use it (10:17)
Day 9 - Adding Dependencies for ViewModel, Network Calls JSON (7:22)
Day 9 - Setting up our Categories Data Classes (4:48)
Day 9 - Using Retrofit, the Suspend Key and Coroutines to get Access to Categories (12:21)
Day 9 - Try And Catch And Finally (7:56)
Day 9 - Setting up Our MainViewModel and Fetching Data (14:31)
Day 9 - Preparing our RecipeScreen (6:03)
Day 9 - How each Category Item should look like (12:19)
Day 9 - Adding Internet Permission and Running the App (6:49)
Day 9 - Going through the whole flow of our application (11:33)
Day 9 - Finishing Day 9 (3:14)
Summary of Day 9
Update to Android 14 - Day 10 - Navigation in Android
Welcome to Day 10 (1:21)
Day 10 - Setting up First Screen for Navigation (6:02)
Day 10 - Setting up The Second Screen for Navigation (2:22)
Coding Exercise - Add a 3rd Screen to navigate to and do so
Day 10 - NavHost NavController and Navigating (11:46)
Day 10 - Passing Variables from One Screen To Another (10:24)
Coding Exercise - Pass Age as well
Day 10 - Setting up the CategoryDetailScreen for our Recipe App (6:39)
Day 10 - Preparing our UI for Navigation (6:49)
Day 10 - Setting up the Routes with a Sealed Class (3:54)
Day 10 - Implementing the Navigation and Passing Objects (16:36)
Day 10 - Serialization and Deserialization with Parcelable (4:53)
Day 10 - Finishing Day 10 (4:41)
Summary of Day 10
Update to Android 14 - Day 11 - Location App
Welcome to Day 11 (3:13)
Day 11 - Adding Permissions for Coarse and Fine Location in the AndroidManifest (4:01)
Day 11 - Checking if we have access to the location permissions (5:51)
Day 11 - Story about Context (2:15)
Day 11 - RememberLauncherForActivityResult - Starting the Permission request (9:51)
Quiz - User Interface & Location Permissions
Day 11 - Requesting for Permission and Seeing the Popup (11:44)
Day 11 - Seeing Permissions under the hood in the Android Settings (3:50)
Day 11 - Preparing the ViewModel for Location Loading (8:26)
Day 11 - Reading the Latitude and Longitude and displaying it (14:56)
Day 11 - Setting up a Route and Understanding Location on our Emulator (4:54)
Day 11 - Displaying the Address based on Latitude and Longitude (11:17)
Quiz - Unraveling Geo-decoding: From Coordinates to Addresses
Day 11 - Finishing Day 11 (2:57)
Summary of Day 11
Update to Android 14 - Day 12
Welcome to Day 12 (1:14)
Day 12 - Adding the required Dependencies to our Shopping List App (1:55)
Day 12 - Setting up the API Key for Google Maps (9:53)
Day 12 - Adding Geocoding API and testing our API Key (3:43)
Day 12 - Restricting your API Key (2:27)
Day 12 - Mapping the API Response to Data Classes (4:32)
Day 12 - Prepping our LocationSelectionScreen (5:48)
Day 12 - Adding GoogleMaps to LocationSelectionScreen (9:56)
Day 12 - Adding the LocationViewModel (2:18)
Day 12 - Reusing our LocationUtils from the previous lectures (3:35)
Day 12 - Changing our ShoppingItems (7:47)
Day 12 - Adding the permission request (5:12)
Day 12 - Adding the GeocodingApiService (5:09)
Day 12 - Finalizing Retrofit elements (9:26)
Day 12 - Putting everything together and testing the app (15:27)
Quiz - Navigating Android Composables and Location Services
Day 12 - Finishing Day 12 (2:10)
Summary of Day 12
DOWNLOAD SOURCE - SHOPPING LIST APP FINAL
Update to Android 14 - Day 13
Welcome to Day 13 (1:42)
Day 13 - Setting up the Dependencies (4:05)
Day 13 - HomeView and Scaffold (13:09)
Day 13 - Understanding HEX and Colors in Depth (8:23)
Day 13 - Adding A NavigationIcon to our AppBar (7:26)
Day 13 - Only Show the BackIcon when not on the MainScreen (3:15)
Day 13 - FloatingActionButton (FAB) (4:49)
Day 13 - Adding our Wish and WishItem (7:44)
Day 13 - Displaying Dummy Data (3:15)
Day 13 - Preparing the Navigation (6:51)
Day 13 - Starting with the AddEditDetailView (8:02)
Day 13 - Designing our own OutlinedTextField (8:59)
Day 13 - ViewModel and AddDetailView (8:13)
Day 13 - Finalizing Navigation to Move to the Add Screen (3:59)
Quiz - Android 14 Navigation: Implementing Back Button Functionality
Day 13 - Adding the NavigateUp Functionality to our BackIcon (3:51)
Day 13 - Finishing Day 13 (2:24)
Summary of Day 13
DOWNLOAD SOURCE - WISH LIST APP
Update to Android 14 - Day 14
Update to Android 14 - Day 14 (1:18)
Day 14 - Quick Overview Of Storage Options - Reading the book (6:09)
Day 14 - Setting up the @Entity for our Data Class Wish (8:36)
Day 14 - Setting Up the DAO and Understanding Queries (10:41)
Day 14 - The Room WishDatabase Class (3:30)
Day 14 - Understanding and Using a Repository (6:58)
Day 14 - Prepping our ViewModel understanding Dispatchers and lateinit Var (10:23)
Day 14 - Initializing our Database (9:00)
Day 14 - Dependency Injection (1:10)
Day 14 - Understanding Singleton and our Graph Object (5:39)
Day 14 - Adding the Application Class and Using our Graph (3:35)
Day 14 - Using the Graphs Repository as a Default in Our WishViewModel (1:28)
Day 14 - Adding a Wish And using Snackbars (11:26)
Day 14 - Reading all entry from the db and displaying them (3:00)
Day 14 - Click on a Wish and see it on the detail View (11:01)
Day 14 - Update An Existing Item (2:13)
Day 14 - Swipe to Delete (6:04)
Day 14 - Swipe to Delete Background (6:04)
Day 14 - Finishing Day 14 (2:05)
Summary of Day 14
DOWNLOAD SOURCE - WISH LIST APP FINAL
BONUS: exclusive coupon code for our "Tiny Android Projects Using Kotlin" book
Update to Android 14 - Day 15
Day 15 - Setting up the TopAppBar (9:59)
Welcome to Day 15 (3:00)
Day 15 - Adding Resource Icons and Prepping our DrawerItem for the Drawer (12:22)
Day 15 - Making the drawer appear (10:41)
Day 15 - Making the DrawerItemsClickable -Setting up our Navigation and ViewModel (9:03)
Day 15 - Add Account Dialog (12:54)
Day 15 - AccountView (11:33)
Day 15 - Subscription View (7:34)
Day 15 - Finishing Day 15 (2:29)
Summary of Day 15
DOWNLOAD SOURCE -MUSIC APP PART 1
Update to Android 14 - Day 16
Welcome to Day 16 (1:14)
Day 16 - Setting up the BottomBar (13:02)
Day 16 - Adding the Navigation Routes (1:55)
Day 16 - Setting up the Home Screen - StickyText (11:54)
Coding Exercise - Create a Browse Screen Using Lazy Vertical Grid in Compose
Day 16 - Challenge Solution - Browse Screen (1:49)
Day 16 - Setting up the Library Screen (8:08)
Day 16 - Fixing the Bottom Bar Selected Color (2:45)
Day 16 - ModalBottomSheetLayout Setup (12:26)
Day 16 - Adding Actions to our Scaffold (4:38)
Day 16 - Taking care of updating the Title (2:10)
Day 16 - Finishing Day 16 (2:25)
Summary of Day 16
Update to Android 14 - Day 17 - GET STARTED EARLY with the Firebase Chatbot App!
Day 17 - Building a chat room app EARLY ACCESS
Day 17- Create a Firebase Project
Day 17 - Adding an Android Project
Day 17 - Firebase Email Authentication:
Day 17 - Finalizing Email Authentication
Update to Android 14 - Day 18 - Building a chat room app EARLY ACCESS - Part 2
Day 18 - Chatroom Lists
Day 18 - Adding functionality to our app
Day 18 - Chatrooms
Day 18 - Setting up our Chatrooms
Android 12, Section 1: Introduction
Thanks a lot for taking the course (0:57)
How to get most out of this course (4:23)
What you will learn in this course and how is it structured (17:08)
BONUS: additional resources
Section 2: Getting ready with Android Studio
Introduction to the chapter (0:58)
Your reward awaits
Install Android Studio on Windows (3:22)
Install Android Studio on Mac (3:30)
Install Android Studio on Linux
Our first project - the ui and how to change the size of the text (9:27)
Setting up the Emulator (9:04)
Hello World (8:32)
People Counter App (15:48)
Testing The App On Your Phone (5:49)
Outro - Setup (0:52)
Get the most from Tutorials.EU
Section 3: Kotlin Fundamentals
Introduction to the chapter (1:28)
Variables and difference between val and var (7:47)
Datatypes of numbers (8:49)
Datatypes bool, char and string (6:48)
Code for Variables and Datatypes
Exercise Variables And Datatypes
Solution For The Exercise Variables And Datatypes
String Interpolation - String Templates (3:23)
Quiz 1: Quiz Variables And Datatypes
Arithmetic Operators and why the type is important (8:43)
Comparison Operators (8:35)
Assignment, increment and decrement operators (6:35)
Code: Operators
If Statements (11:37)
If Statements Part 2 (3:53)
Note - If Statemens as Expressions
When Expressions - Including Exercises (12:32)
Quiz 2: If Statements and When Expressions
Code Of If Statements And When Expressions
Note - When Statements as Expressions
While Loop (7:34)
Do While Loop (3:26)
More On While Loops (3:42)
For Loops (5:14)
Code: Loops
Exercise Loops
Solution For Exercise: Loops
Quiz 3: Loops
Break and Continue (4:32)
Functions - Parameters - Arguments and Return - Exercise Included (13:18)
Code: Functions
Nullables In Kotlin (10:01)
Nullables - Elvis Operator - Not Null Assertion (5:27)
Code: Nullables
Quiz 4: Fundamentals Kotlin
Summary - Kotlin Fundamentals I (1:29)
Section 4: Object Oriented Programming Basics In Kotlin
Introduction to the chapter (1:23)
Introduction to OOP (6:04)
Classes and Objects (4:52)
Classes and Initializers (7:09)
Exercise Classes and Objects
Solution for Exercise Classes and Objects
Scope and Shadowing (5:14)
Member Variables - Functions And Constructors (13:07)
Lateinit Plus Setters And Getters (10:20)
Code- Classes
Data Classes (8:53)
Challenge Classes
Solution: Challenge Classes
Inheritance (15:16)
Interfaces (11:14)
Abstract Classes (6:01)
Typecasting (7:50)
Summary Of Classes And OOP (1:23)
Quiz 5: Object Oriented Programming
Section 5: More Fundamentals of Kotlin
Introduction to the chapter (1:32)
Overview Collections (2:19)
Arrays (16:17)
Lists (9:19)
Sets and Maps (10:32)
ArrayLists (5:48)
Exercise ArrayLists
Solution For Exercise: ArrayLists
Lambda Expressions (4:36)
Visibility Modifiers - public - private- internal - protected and the keyword op (10:54)
Nested and Inner Classes (4:46)
Safe Cast and Unsafe Cast Operator (5:05)
Exception Handling With Try And Catch (15:35)
Quiz 6: On More Fundamentals Of Kotlin
Summary Of This Chapter (1:32)
Useful Links Additional Info
Section 6: Age In Minutes App
READ THIS please
Introduction to the chapter (1:31)
Setting up the UI for the age calculator and how we can adjust the looks of our (14:43)
Adding more TextViews and understanding the difference of SP, DP and Pixels (14:44)
Finalizing the UI of our Age Calculator App (5:05)
Adding a DatePickerDialog and OnDateSetListener (13:22)
Using the selected Date to display it and looking into SimpleDateFormat and Date (11:17)
Finalizing The Age in Minutes App (10:13)
Challenge - Age in Days
Summary - Age in Minutes App (1:16)
Quiz 7: Age In Minutes App
Section 7: Calculator App - Learning XML and how to create a UI
Important note
Introduction to the chapter (1:06)
What You Will Build In This Chapter (5:03)
Building the Calculator UI using LinearLayouts and layout_weight and onClick (14:36)
Using onClick And Implementing The CLR Functionality (6:00)
Adding The onDecimalPoint Function (5:08)
Adding The onOperatorFunctionality Using Contains And startsWith On Strings (8:05)
Adding Subtraction - Using Split And Substring Methods On Strings (12:59)
Adding The Missing Operations And Finalizing The App (10:16)
Summary Of The Calculator Chapter (1:06)
Section 8: Quiz App
Important note
Introduction - Quiz App (3:02)
Preparing The Projects Style And Manifest (7:33)
Setting Up The UI Using Cardview And Disable The Statusbar (16:40)
Creating The Question Model And Preparing The Questions (15:57)
Setting Up The Question UI And Connecting The UI To The Model Part 1 (9:46)
Setting Up The Question UI And Connecting The UI To The Model Part 2 (12:56)
Adding The Button Functionality To The Questions Activity (20:36)
Selecting The Right And Wrong Answers And Displaying The Next Question (16:30)
DEMO - StartActivityForResult (19:23)
Preparing The UI For The Result Activity (6:42)
Final Touches And Sending Data Via Intent - putExtra (15:09)
Generate a Signed APK in Android Studio and upload it on Google Play Store
Summary - Quiz App (1:37)
Section 9: Drawing App - How to use Canvas, import Images and Export them - Android 10
Important note
Introduction - Kids Drawing App (3:00)
What You Will Build In This Chapter (1:34)
Setting Up The Kids Drawing App - Drawing View Part 1 (19:15)
Setting Up The Kids Drawing App - Drawing View Part 2 (19:17)
Let The Lines Persist On The View (3:52)
Adding A Little Border Around The Canvas (3:10)
Preparing The BrushSizeSelector And How To Use DisplayMetrics (5:32)
Selecting The Brush Size From A Custom Dialog That We Created (21:03)
Adding The Color Pallet Using Custom Drawables That We Created (19:01)
Adding The Color Selection (14:34)
Adding The Background Image (9:33)
Adding The Gallery ImageButton To The UI (5:27)
Side Note
Permissions Demo (23:46)
Snackbar - AlertDialog - CustomDialogs Demo Part 1 (8:23)
CustomDialogs Demo Part 2 (5:48)
Custom Progress Bar Dialogs (6:08)
Adding Permissionrequest To Our KidsDrawing App (15:24)
Selecting An Image From The Gallery Using It As A Background (10:16)
Adding An Undo Button And Functionality (5:31)
AsyncTask Demo - Do Something In The Background (8:36)
Adding A Provider - Path And An Image Sandwitch Maker (13:49)
Saving An Image On The Phone Using AsingTask and OutputStream (16:28)
Displaying The Custom Progress Dialog And onPreExecute (4:57)
Adding A Share Feature To Share The Image Via E-Mail - Whatsapp etc. (8:19)
Introduction to the chapter (2:20)
Section 10: 7 Minute Workout App - UI - Timers - Multiple Activities - Making Money with Apps
Important Note
Structure of the App (1:52)
Setting up the UI (20:37)
How To Get Rid Of The Actionbar (1:27)
Adding The Exercise Screen - Intents And Customizing Our Toolbar (12:50)
Implementing Custom UI Elements For A Progressbar to Tick Counterclock Wise (14:02)
DEMO Timers (7:24)
Using CountDownTimers To Display The Seconds Remaining (11:05)
Challenge - Implementing The ExerciseTimer (14:18)
Adding The Model, Our Constants For The Exercises And Testing It Part 1 (14:36)
Adding The Model, Our Constants For The Exercises And Testing It Part 2 (12:31)
Adding The Upcoming Exercise Text To The RestView (6:33)
DEMO Text To Speech (8:26)
Challenge - Add Text To Speech
Adding Text To Speech To Our App (15:24)
Adding A Media Player To Play A Sound Once The Exercise Is Over (6:17)
Intro - RecyclerView (9:04)
DEMO - RecyclerView (22:22)
Preparing The RecyclerView For The Bottom To Display Exercise Numbers (6:28)
Creating Our Own Custom RecyclerViewAdapter And ViewHolder (11:14)
Displaying The RecyclerView With The Exercise Numbers (13:45)
Displaying At Which Exercise We Currently Are (11:48)
Creating The Finish Activity (18:41)
Setting Up The CustomDialog For The BackButton (10:49)
Preparing The BMI Screen (8:39)
BMI Screen For The Metric System (20:32)
Adding Custom RadioGroups With Custom RadioButtons (9:00)
Adding The US View Elements (18:19)
Difference Between View Gone And View Invisible (2:11)
Finalizing The BMI Calculator With The US System (7:49)
Adding The History UI And Activity (8:59)
SQLITE Demo Part 1 - Overview Of The Project And UI (10:53)
SQLITE DEMO Part 2 - Primary Key, How To Create a Table And Datatypes in SQLite (14:46)
SQLITE DEMO Part 3 - The Database Class - How Tables Work - CRUD Operations etc. (16:41)
SQLITE DEMO Part 4 - Checking the SQL Database on the Deveice Outside Of the App (18:57)
Adding The SqliteOpenHelper And Storing Date In The DB (14:20)
Reading The Database Entries And Preparing The Listview Item Layout (11:24)
Adding The RecyclerView And Finishing The App (15:24)
Summary - 7 Minutes Workout App (2:20)
Section 11: Age in Minutes Calculator - Android 12
Intro Age in Minutes Calculator - Android 12 (1:31)
Setting up the UI for the age calculator (18:49)
Adding more TextViews and Understanding SP, DP and Pixels (14:22)
Finalizing the UI of our Age Calculator App (6:44)
Adding a DatePickerDialog and OnDateSetListener (13:15)
Using the selected Date to display it and looking into simpledateformat and date (12:00)
Finalizing The Age In Minutes App (12:19)
Summary Age In Minutes App (1:16)
Section 12: Calculator App - Learning XML and how to create a UI - Android 12
Intro Calculator App (1:06)
What you will build in this chapter (5:03)
Building The Calculator UI using Linear Layouts part 1 (17:32)
Building The Calculator UI using Linear Layouts part 2 (7:49)
Using OnClick and Implementing the CLR Functionality (9:07)
Adding the onDecimalPoint Function (5:43)
Adding the OnOperator Functionality using Contains and StartsWith on Strings (11:58)
Adding Subtraction - Using split and substring methods on Strings (15:15)
Adding the Missing Operations and Finalizing the App (7:17)
Summary Of The Calculator Chapter (1:06)
Section 13: Quiz App Android 12
Intro Quiz App (3:02)
Preparing The Projects Style and Manifest (3:47)
Setting up the ui and using cardview and disable the statusbar (17:59)
Creating the question Model And Preparing the questions (20:11)
Setting Up The QUestion UI ANd Connecting the UI to the model part 1 (11:42)
Setting Up The QUestion UI ANd Connecting the UI to the model part 2 (18:30)
Adding The button Functionality to the questions activity (23:51)
Selecting the Right and Wrong Answer and Displaying the next question (13:06)
TODO - Register For Activity RESULT DEMO
Preparing the UI for the Result activity (5:48)
Final Touches And Sending Data Via Intent - putExtra (18:01)
Generate a Signed APK
Summary Quiz App (1:37)
Section 14: Drawing App - How to use Canvas, import Images and Export them - Android 12
Introduction - Kids Drawing App (3:00)
What You Will Build In This Chapter (1:34)
Setting Up The Kids Drawing App - Drawing View Part 1 (19:15)
Setting Up The Kids Drawing App - Drawing View Part 2 (19:17)
Let The Lines Persist On The View (3:52)
Adding A Little Border Around The Canvas (3:10)
Preparing the BrushSizeSelector and How To Use DisplayMetrics (5:54)
Selecting the Brush Size From A Custom Dialog That we Created (19:13)
Adding the color pallet using custom drawables that we created (17:59)
Adding the Color selection (11:02)
Adding the Background Image (7:09)
Adding The Gallery ImageButton To The UI (4:05)
Permissions Demo (22:44)
Snackbar - AlertDialog - CustomDialogs Demo Part 1 (8:23)
CustomDialogs Demo Part 2 (5:48)
Custom Progress Bar Dialogs (6:08)
Adding Permission requests to our KidsDrawing App (14:56)
Selecting An Image from the gallery using it as a background (10:19)
Adding an undo button and functionality (6:12)
Do something in the Background using Coroutines (13:44)
Adding a provider - path and a image sandwich maker to our app (13:49)
Saving an Image on The Phone using Coroutines and OutPutStreams (18:39)
Displaying The Custom Progress Dialog and Hiding it When done (4:57)
Adding a Share Feature To Share The Image Via-Email - Whatsapp etc. (7:04)
Section 15: 7 Minute Workout App Android 12 Version
Intro to 7 Minute Workout App (2:20)
Setting up the UI (17:08)
Using Viewbinding and getting rid of our actionbar (7:50)
Adding The Exercise Screen - Intents and Customizing our Toolbar (12:11)
Implementing Custom UI Elements For A PRogressbar To Tick Counterclock wise (15:30)
DEMO - Timers (7:24)
Using CountDownTimers To Display The Seconds remaining (10:09)
Adding the Exercise Timer (13:26)
Adding the Model, Our Constants For The Exercises and Testing It Part 1 (12:22)
Adding the Model, Our Constants For The Exercises and Testing It Part 2 (13:33)
Adding the Upcoming Exercise Text To the restview (7:09)
TextToSpeech Demo (11:00)
Challenge TextToSpeech
Adding Text to speech to our application (5:19)
Adding a Media Player to play a sounds once an exercise is over (7:14)
Intro to RecyclerViews (9:04)
Viewbinding with Recyclerviews (23:39)
Preparing The RecyclerView For The Bottom To Display Exercise Numbers (7:21)
Creating our own custom recyclerviewadapter and viewholder (10:21)
Displaying the Recyclerview with the Exercise Numbers (12:16)
Displaying at witch exercise we currently are (11:30)
Creating the finish activity (15:17)
Setting up the CustomDialog for the Backbutton (10:09)
Preparing the BMI Screen (8:03)
BMI Screen for the Metric system (22:37)
Adding Custom RadioGroups with Custom RadioButtons (7:00)
Adding the US View Elements (16:20)
FInalizing the BMI Calcutator with the us system (7:00)
Adding the History UI and Activity (9:33)
Looking at Lambdas once again (3:23)
Room Database Demo Part 1 - Introduction to Room Database (9:27)
Room Database Demo Part 2 - Setting up the Data Class - Room Entity (9:27)
Room Database Demo Part 3 - The Dao Interface and the Database Class (16:36)
Room Database Demo Part 4 - CREATE and store data (20:31)
Room Database Demo Part 5 - Preparing the ItemAdapter with Listeners (12:43)
Room Database Demo Part 6 - Displaying the Database entries (9:42)
Room Database Demo Part 7 - Updating and Deleting database entries (22:17)
Adding the Room Database to Our Workout App - Inserting Workouts (24:17)
Fetching Data from our Database and displaying it in the log (9:26)
Displaying the Workout History on our Recyclerview (18:21)
Summary - 7 Minutes Workout App (1:55)
Section 16: Happy Places App - Location, GPS, Google Maps API
Introduction to the chapter (1:53)
Concept of the App (1:50)
Setting Up The Happy Places App (14:27)
Adding The Add HappyPlaceActivity and using dimens, string, color (15:06)
Adding Calendar Picker And Populate Our Date Edit Text (11:23)
Using Third Party Libraries (5:15)
Using The Third Party Library DEXTER For Permission Handling (19:47)
DEMO - Taking Images With The Camera App and Using It In Our App (12:49)
Adding The Gallery Picking Functionality (9:09)
Adding Camera Picking Functionality (5:30)
Storing The Images On The Device (11:36)
Preparing The Database Handler And Creating Our Happy Place Model (13:33)
Saving A Happy Place Via SQLite (7:59)
Reading The Data From Our Local DB (11:52)
Preparing The RecyclerView (4:23)
Using A Third Party Library For Nice Rounded Images (18:55)
Adding ActivityForResult In Order To Update The List Dynamically (7:33)
Adding An OnClickListener To RecyclerView Element - Best Practice (14:46)
Passing Whole Objects from One Activity To Another - Serializable vs Parcalable (11:53)
Adding Swipe To Edit Functionality using ItemTouchHelper (18:14)
Fixing The Updating Duplication Bug (9:10)
Adding Swipe To Delete Functionality (10:34)
Using The Google Places API (19:02)
Adding a Map Intent (7:34)
Displaying A Marker On The Map And Zooming In With An Animation (16:25)
Adding The Select Current Location Button And Permissions (11:15)
Getting The Address From The Latitude And Longitude (21:46)
Getting The Users Location (15:24)
Steps to integrate AdMob in your Android App in Kotlin
Summary - Happy Places (1:20)
Section 17: Weather App - Downloading Website, JSON, GSON, Using APIs
Introduction - Weather App (1:07)
JSON And Tools - Introduction (7:48)
DEMO - Downloading A Website And Its Text in Android (16:46)
How Read And Use JSON Objects (10:46)
Sending Post Requests (7:38)
Using The GSON Library to Make Working With JSON Easier (9:32)
Introduction To OpenWeatherMap And General Overview (8:08)
Preparing The Project And Checking If Location Provider Is Turned On (10:02)
Preparing Permissionrequests Using Dexter (11:47)
Preparing the Internet Connection For RETROFIT And The API Calls (12:35)
Preparing The Models Based On The API (11:21)
Creating The API Call with Retrofit and Getting A Response (23:18)
Creating A Custom Dialog And Testing Different Internet Speeds (8:20)
Adding The UI And Setting It Up (19:41)
Adding The Sunrise And Sunset Time (11:36)
Changing The UI Depending On The Weather Data From The API (5:03)
Adding A Refresh Button In The Menu (7:42)
Storing The Data Via SharedPreferences And Preloading It (12:25)
Summary - Weather App (2:18)
Section 18: Trello Clone - Firebase - User Management - Drag And Drop - Online Database AN10
Introduction to the chapter (3:04)
Concept of the App (2:03)
Setting Up The Splashscreen, Using Custom Fonts And How To Find Them (15:28)
Setting Up The Intro Screen And Moving To It After 2 Second (12:34)
Designing The SignUp Activity (15:51)
Challenge - Seting Up The SignIn Activity (5:29)
Setting Up The BaseActivity For Reuse Functions (21:22)
Preparing The Signup Feature in Firebase And In The App (12:51)
Registering The User Via Email in Firebase (11:59)
Signing In The User (13:04)
Using The FireStore Database to Store The User Details Part 1 (12:46)
Using The FireStore Database to Store The User Details Part 2 (12:15)
Signing In And Getting The User Data (7:43)
Auto Login (5:33)
Preparing The XML For The Drawer And Navigation Part 1 (14:33)
Preparing The XML For The Drawer And Navigation Part 2 (14:08)
Adding The Drawer Functionality In Code (13:02)
Loading The Image And Username To Display It In The Drawer (13:18)
Preparing The Profile Screen (12:39)
Populating The Profile Activity With User Data (7:48)
Image Chooser For The Profile Image (16:56)
Uploading An Image To Storage (19:06)
Updating the User Data Via HashMap In The FireStore Database (17:50)
Updating The MainActivit Profile Details via ActivityForResult (5:40)
The Create Board Activity (9:11)
Select A Board Image (6:45)
Creating A Board Image (16:03)
Creating A Board (13:30)
Creating The Board In The Firestore Database (22:51)
Preparing The Boards Recyclerview Adapter And UI Elements (17:54)
Loading The Boards Into The Recyclerview (4:02)
Updating The BoardsList After Creating A New Board (5:51)
The TasklistActivity (16:24)
Loading The Board in The TaskListActivity (16:08)
Preparing The Tasklist Adapter (21:47)
Creating Lists Inside A Board (16:29)
Creating A List Inside A Board Part 2 (12:18)
Editing And Deleting Lists (14:39)
Adding The Cards To Lists (20:51)
Displaying The Cards (9:23)
Preparing The MembersActivity (7:32)
Creating The Member Item And The Toolbar (8:33)
Fetching And Displaying The Members Of A Board (15:42)
Adding New Members - UI (12:21)
Adding A New Member To A Board - Logic (22:29)
Reloading The Board Details On Change (10:59)
Adding A Detail Screen For Cards (15:47)
Loading Card Details To Set The Title Of The Card (11:34)
Adding The Delete Card Menu Icon ANd Populating The EditText Of The Card (8:17)
Deleting Cards (18:45)
Preparing The Cards Color Dialog And Adapter (24:18)
Selecting The Color And Updating The Card (8:53)
Adding Colors To Our Cards (6:15)
Passing The Memberslist To The Card (8:52)
Preparing And Displaying The Card Members Dialog (23:14)
Prepare The Add Members Feature (18:49)
Finish The Add Members Feature (11:45)
Displaying The Assigned Users Per Card On The List Level (14:00)
Adding A Due Date To The App (10:47)
Adding The Drag And Drop Feature (14:10)
Preparing The Notification Feature (19:54)
Adding The Token To The DB (14:17)
Adding The Notifications Part 1 (27:12)
Final Steps For The Notification Feature (13:43)
Outro (1:42)
Section 19: Where To Go Now
How To Learn More
Options To Make Money
How to Publish Your App
Thanks a lot for taking the course (2:02)
How to Build Games for Android
YOUR SPECIAL BONUS
GET YOUR BONUS
Adding the color pallet using custom drawables that we created
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock