Jetpack Compose And Solid Principles: Building Robust Apps

Posted By: ELK1nG

Jetpack Compose And Solid Principles: Building Robust Apps
Published 11/2023
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 3.99 GB | Duration: 8h 13m

Learn to Build Robust and Scalable Android Apps with Jetpack Compose and SOLID Principles

What you'll learn

Understand SOLID Principles: Learn and apply SOLID principles in Android with Jetpack Compose.

Design Maintainable Apps: Create scalable Android apps using SOLID principles.

Master Jetpack Compose UI: Build flexible UI components following SOLID principles.

Write SOLID Android Code: Develop clean, maintainable code in Android with Jetpack Compose.

Requirements

Kotlin

Android fundamentals

Description

“Jetpack Compose and SOLID Principles: Building Robust Apps” is a course that teaches you how to build robust and scalable Android apps using Jetpack Compose and SOLID principles. The course covers the basics of Jetpack Compose and SOLID principles and then dives into more advanced topics such as building layouts, theming, and animation. You’ll also learn how to build a functioning news app called Newsy using Retrofit, Dagger Hilt, Coil for image loading, and Paging 3 library for pagination. The course is designed to be accessible to all users, focusing on improving performance. By the end of the course, you’ll have the skills and knowledge needed to build robust and scalable Android apps with Jetpack Compose and SOLID principles.What You’ll Learn:Jetpack Compose Mastery: Dive deep into Jetpack Compose, the modern Android UI toolkit, and learn how to create breathtaking user interfaces. From basic UI components to complex layouts, you’ll gain a deep understanding of Compose’s capabilities and best practices.SOLID Principles in Android: Master the SOLID principles—Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. Learn how to apply these principles to your Android app’s architecture, making your code more organized and easier to maintain.Retrofit for Network Requests: Utilize Retrofit to fetch news data from external sources. You’ll learn how to create a robust networking layer, handling HTTP requests and responses efficiently.Dagger Hilt for Dependency Injection: Explore Dagger Hilt, a key tool for managing dependencies in your app. You’ll set up and optimize your dependency injection, promoting modular and testable code.Coil for Image Loading: Implement image loading with Coil, a modern image-loading library. Optimize image loading for your Newsy app, ensuring a swift and efficient display of images.Paging 3 for Pagination: Learn how to use the Paging 3 library to handle pagination in your app, making it more efficient and user-friendly.By the end of this course, you’ll have the skills and knowledge needed to build robust and scalable Android apps with Jetpack Compose and SOLID principles. You’ll also have made a fully functional news app called Newsy, which utilizes the latest tools and libraries in Android development.

Overview

Section 1: Introduction

Lecture 1 Introduction

Section 2: Initial Project And Source Code

Lecture 2 Initial Project Source Code

Lecture 3 What we'll build

Lecture 4 Project Walkthrough

Section 3: Introduction to clean architecture

Lecture 5 What are SOLID PRINCIPLE

Lecture 6 Clean Architecture in Android Apps

Section 4: The News API

Lecture 7 The Api we'll Use

Lecture 8 Testing the Api with postman

Section 5: Implementing Headline feature

Lecture 9 Organizing the project structure in Android studio

Lecture 10 Set up Domain contract and Models

Lecture 11 Setting up Headline feature

Lecture 12 Headline Api setup

Lecture 13 Local Contract Dto

Lecture 14 Setup Newsy database

Lecture 15 Setup Headline Table

Lecture 16 Headline Data Access Object(Dao)

Lecture 17 Headline Mapper

Lecture 18 Headline Remote Mediator with Paging 3

Lecture 19 Implementing Load Function for Remote Mediator

Lecture 20 ArticleHeadlineMapper

Lecture 21 Error Handling in Remote Mediator

Lecture 22 Handling paging key

Lecture 23 Headline repository Implementation

Lecture 24 Dipendency Injection with Dagger Hilt

Section 6: Home Presentation Feature

Lecture 25 Refactoring Core Presentation Code

Lecture 26 Home State Data Object

Lecture 27 Home Ui Events

Lecture 28 Home View Model Implementation

Lecture 29 Home Screen Set up

Lecture 30 Home Top Bar Component

Lecture 31 Headline Item Extension Function

Lecture 32 Header Title Component

Lecture 33 Header title Item Implementation

Lecture 34 Headline Item Component implementation

Lecture 35 Updating Auto scrolling Logic

Lecture 36 Implementing Horizontal Pager Composable

Lecture 37 Headline Card Implentation

Lecture 38 Connecting Headline Card with Horizontal Pager

Lecture 39 Updating Headline Item Extension Function

Lecture 40 Paging Loading Item

Lecture 41 Test Run Newsy App

Lecture 42 Solving Dagger Hilt Binging and Re run Newsy

Section 7: Discover Feature

Lecture 43 Introduction

Lecture 44 Discover Article Table

Lecture 45 Discover Remote Key Table

Lecture 46 Discover Article Dao

Lecture 47 Discover Remote Key Dao

Lecture 48 Discover Remote Mediator Starter

Lecture 49 Discover Remote Api

Lecture 50 Initialization of Discover Remote Mediator

Lecture 51 Implementing Load Function

Lecture 52 Discover Repository

Lecture 53 Fixing Headline Mapper Logic

Lecture 54 Discover Dependency Injection Module

Lecture 55 Discover use_cases

Lecture 56 The Disconver UI

Lecture 57 Extending Home Viewmodel With Discover Data

Lecture 58 Discover Item Extension Function

Lecture 59 Disover Chips

Lecture 60 Newsy Article Item Composable

Lecture 61 Updating Category Fetching Logic

Lecture 62 Navigation Intro

Lecture 63 Navigation Screens

Lecture 64 Navigation Actions

Lecture 65 Newsy Navigation Graph

Lecture 66 Newsy App Composable

Section 8: Detail and Headline Feature

Lecture 67 Detail Dto

Lecture 68 Detail Dao

Lecture 69 Domain Detail Entity

Lecture 70 Detail Repository 1

Lecture 71 Resource Holder class

Lecture 72 Detail Repository 2

Lecture 73 Detail Module

Lecture 74 Detail state and View model Implementation

Lecture 75 Detail Screen

Lecture 76 Detail Components Composables

Lecture 77 Detail Screen Implementation

Lecture 78 Detail Navigation

Lecture 79 Headline Viewmodel

Lecture 80 Headline Screen Composable

Lecture 81 Navigation Composable for Headline Screen

Section 9: Search Feature

Lecture 82 Search Feature Intro

Lecture 83 Search Api Endpoint (postman)

Lecture 84 Search Article Remote Dto

Lecture 85 Search Api Implementation-Retrofit

Lecture 86 Search Tables-Room database

Lecture 87 Search Dao

Lecture 88 Search Paging Implementation-paging 3

Lecture 89 Search Paging Load Function Implementation

Lecture 90 Search Repository

Lecture 91 Search Usecases

Lecture 92 Search Module

Lecture 93 Search Events

Lecture 94 Search Viewmodel

Lecture 95 Search Screen Implementation

Lecture 96 Updating Detail Viewmodel

Lecture 97 Fixing Search paging Logic

Section 10: Navigation Drawer

Lecture 98 Intro

Lecture 99 Navigation Drawer Composable

Lecture 100 Newsy Logo Composable

Lecture 101 Model drawer sheet Implementation

Section 11: Favourite Feature

Lecture 102 Favourite Dto

Lecture 103 Favourite Dao

Lecture 104 Newsy Database Update

Lecture 105 Favourite Data

Lecture 106 Favourite Repository

Lecture 107 Favourite Repository Implementation

Lecture 108 Favourite Module

Lecture 109 Favourite ViewModel

Lecture 110 Favourite Screen

Lecture 111 Update Navigation Graph Composable

Lecture 112 Fixing Data Loading Issue

Lecture 113 Discover Button Logic Update

Lecture 114 App Progress

Section 12: Settings Feature

Lecture 115 Intro

Lecture 116 Settings Table-Room Database

Lecture 117 Settings Dao

Lecture 118 Settings Repository

Lecture 119 Settings Use Cases

Lecture 120 Settings Module

Lecture 121 Settings Events

Lecture 123 Discover Button Logic Update

Lecture 122 Navigation Graph Update

Lecture 123 Fixing Settings Issues

Lecture 124 Updating Home Feature With Settings

Lecture 125 Newsy Splash Screen Implementation

Intermediate Android Developers: Developers with a foundational knowledge of Android app development who seek to enhance their coding practices and design skills.,Experienced Developers Transitioning to Jetpack Compose: Seasoned Android developers who want to make a smooth transition to the modern UI framework, Jetpack Compose, while ensuring adherence to SOLID principles.,App Development Enthusiasts: Individuals passionate about Android app development who wish to grasp advanced concepts in code design, maintainability, and collaboration, while embracing the latest UI technologies.,Software Engineering Students: Undergraduate or graduate students studying software engineering or related fields seeking practical insights into Android app development following best practices.