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
When Expressions - Including Exercises
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock