Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 13 hours on-demand video
  • 16 articles
  • 12 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
Development Mobile Development Firebase

Android Firebase MVVM Jetpack - Many Offline-First CRUD Apps

Create full offline first Firebase apps by utilizing Clean Architecture and Android Jetpack.(NEW PROJECTS EVERY MONTH)
Rating: 3.5 out of 53.5 (5 ratings)
54 students
Created by Clement Ochieng
Last updated 10/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • How to create several full offline first apps ready for play store using Firebase Realtime Database
  • Firebase Cloud Storage - Upload/Download/Update/Delete Images
  • Android Jetpack Components like Room,LiveData and ViewModel usage with Firebase
  • Android MVVM(Model View ViewModel) and Clean Architecture in a real world project backed by Firebase
  • INSERT SELECT UPDATE DELETE SEARCH PAGINATION in Firebase Realtime Database
  • How to upload and download images to and from Firebase Cloud Storage
  • Custom permanent hard disk LRU data caching of Firebase Realtime Database data
  • Firebase + SQLite local database using Room Data Access Layer

Course content

6 sections • 113 lectures • 13h 8m total length

  • Preview00:07
  • Preview00:09
  • Preview00:03
  • Preview00:04
  • Preview00:03
  • Preview00:01
  • Preview00:01

  • Preview05:03
  • Preview01:07
  • Add Gradle Dependencies
    12:00
  • Add Custom Fonts in Assets Folder
    01:12
  • Adding Activity Transition Animations
    03:18
  • Preparing Menus,Drawables as well as Value Resources
    12:49
  • Model Classes (a). Scientist
    05:00
  • Model Classes (b). RequestCall
    02:53
  • Global Classes (a). App - Initialize Calligraphy and Disk Caching
    05:42
  • Global Classes (b). Constants - Our Global Variables
    03:41
  • Global Classes (c). CacheManager - How to Cache Data permanently to Hard Disk
    15:32
  • Preview16:12
  • Repository Classes (a). ScientistsRepository
    29:49
  • ViewModel Classes (a). Our Scientists ViewModel
    06:45
  • Adapter Classes (a) - SearchableAdapter
    19:02
  • Adapter Classes (b) - FragmentsAdapter - One class to create ViewPager and Tabs
    13:53
  • Base Classes (a). BaseActivity - Encapsulate inheritable base properties
    17:15
  • Base Classes (b) . BaseFragment
    04:57
  • User Activities (a). Splash Activity - How to Create Beautiful splash screen
    12:58
  • User Activities (b).1. Dashboard Activity - LAYOUT
    04:36
  • User Activities (b).2. Dashboard Activity - CODE
    08:53
  • User Activities (c).1. CRUD Activity - LAYOUT
    04:36
  • User Activities (c).2. CRUD Activity - Firebase CRUD
    34:15
  • User Activities (d). Listings Activity - Class to host fragments
    12:47
  • User Activities (e). 1. Detail Activity - LAYOUT
    05:38
  • User Activities (e).2. Detail Activity - Show scientist details
    08:19
  • Fragments (a). Listings Fragment - Fetching from Firebase and caching locally
    28:42
  • Fragments (a). Search Fragment - Search Firebase Data or Cached Data
    21:05
  • Fragments (c). Latest Fragment - Fetching from Disk Cache
    14:29
  • Download Full Source Code - High quality, easy to understand and modify code
    00:01

  • Preview00:04
  • Preview06:17
  • Preview01:09
  • Add Gradle Dependencies
    08:08
  • Add Custom Fonts in Assets Folder
    02:02
  • Add Transition Animations
    02:18
  • Prepare Drawables and Menu Resources
    04:32
  • Preparing Value Resources - Colors,Styles,Strings
    05:30
  • Global Classes (a). App
    02:27
  • Global Classes (b). Constants
    02:22
  • Global Classes (c). CacheManager
    00:58
  • Global Classes (d). Utils - Several reusable methods
    11:07
  • Global Classes (e). FilterHelper
    05:45
  • Model Classes (a). Scientist
    05:15
  • Model Classes (b). RequestCall
    02:07
  • DAO Interfaces (a). ScientistsDAO
    04:10
  • Room Database - MyRoomDB
    03:53
  • Repository Classes (a). LocalRepository - Performing SQLite CRUD
    05:53
  • Layouts (a). _state - Progress State with messages
    03:51
  • Layouts (b). Model and Model Grid Layouts - RecyclerView ItemViews
    02:24
  • Base Classes (a). BaseActivity
    10:06
  • Base Classes (b) - BaseFragment
    07:52
  • Adapter Classes (a) - FragmentsAdapter
    10:25
  • Activities (a).1 Splash Activity - LAYOUT
    00:37
  • Activities (a).2 Splash Activity - CODE
    05:46
  • Activities (b).1 Dashboard Activity - LAYOUT
    03:22
  • Activities (b).2 Dashboard Activity - CODE
    04:28
  • Activities (b).1 CRUD Activity - LAYOUT
    03:18
  • Activities (b).2 CRUD Activity - CODE
    21:52
  • Activities (d). Listings Activity - CODE
    07:55
  • Activities (e)1. Detail Activity - LAYOUT
    04:57
  • Activities (e).1 Detail Activity - CODE
    08:41
  • Fragments (a).1 Latest Fragment- LAYOUT
    01:27
  • Fragments (a).2 Latest Fragment - CODE
    08:47
  • Fragments (b).1 ListingsFragment - LAYOUT
    02:07
  • Fragments (b).2 ListingsFragment - CODE
    16:05
  • Fragments (c).1 Search Fragment - LAYOUT
    00:35
  • Fragments (c).2 Search Fragment- CODE
    13:19
  • RemoteRepository - FIREBASE CRUD LOGIC
    21:40
  • Download Full Source Code
    00:02

  • Preview00:02
  • Preview03:38
  • Preview00:38
  • Add Gradle Dependencies
    05:53
  • Add Custom Fonts in Assets Folder
    01:09
  • Add Transition Animations
    02:08
  • Modify Value Resources
    04:17
  • Model Layout
    03:39
  • Model Classes (a). Star
    05:16
  • Model Classes (b). RequestCall
    03:09
  • Global Classes (a). App
    03:49
  • Global Classes (b). Constants
    05:18
  • Global Classes (c). Utils
    12:06
  • Global Classes (c). FilterHelper
    07:42
  • Repository Classes (a). StarRepository
    34:56
  • ViewModel Classes (a). StarViewModel
    05:01
  • Base Classes (a). BaseActivity
    08:15
  • Base Classes (b) - BaseEditingActivity
    12:23
  • Adapter Classes (a) - MyAdapter
    17:29
  • Activities (a). CRUD Activity - LAYOUT
    05:40
  • Activities (a). CRUD Activity - CODE
    26:20
  • Activities (b). Listings Activity - LAYOUT
    02:29
  • Activities (b). Listings Activity - CODE
    16:53
  • Activities (a) Splash Activity - LAYOUT
    01:21
  • Activities (a) Splash Activity - CODE
    04:55
  • Activities (d). Dashboard Activity - LAYOUT
    03:15
  • Activities (d). Dashboard Activity - CODE
    05:10
  • Activities (b). AboutUs Activity - LAYOUT
    03:39
  • Activities (b). AboutUs Activity - CODE
    02:01
  • Activities (a). Detail Activity - LAYOUT
    06:21
  • Activities (b). Detail Activity - CODE
    06:49
  • Download Full Source Code
    00:07

  • Preview00:04
  • SOURCE CODE DOWNLOAD
    00:01

  • Preview00:03
  • SOURCE CODE DOWNLOAD
    00:03

Requirements

  • Be able to use Android Studio to create and run hello world project

Description

You might have noticed that there are quite so many courses, tutorials and articles online teaching Firebase. However the problem with these is that most of the time they are incomplete and don't teach you how to use Firebase using modern design patterns. Most of these courses and documentation only teach you simple techniques making it difficult to integrate their code into your own projects. We've taken alot of time calibrating our code so that it is easily extensible and pluggable into all types of projects. Luckily for us, Google had introduced Android Jetpack a few years ago, thus we are able to utilize Clean Architecture in our projects.

Our projects try as much as possible to be generic and easily customizable. Using MVVM allows us to achieve this. We will be releasing new projects into this course every month, so buying it early allows you to save money and keep getting new projects that respect the latest techniques.

Why CRUD Apps?

Well all types of applications' main role is to manipulate data. And that data manipulation is what is called CRUD(Creating Reading Updating Deleting). If you master these three then you can create any type of application imaginable. These make up the core of any app. And doing it using Clean Architecture ensures you will have a solid code base you can use to easily start any type of app and have something working within a few minutes. That's why we have dedicated this course to creating CRUD apps with search and pagination and storing data offline as well. You can take advantage of that of using what we provide you here as a template to start any type of project.


What is this Course about?

Well in short: Firebase Realtime Database and how to Create several full CRUD applications and apply several caching techniques.

In Long:

We will be creating full applications making use:

  1. Firebase Realtime Database as our data store.

  2. You will learn  how to insert select update delete search and paginate/page firebase realtime database data.

  3. You will learn how implement an efficient offline fast approach in development. This means the app will have offline capability even if users completely have no internet connectivity. Through this approach users are still be able to browse data, search data. However to modify  we need internet connectivity since our main data store is Firebase Realtime database not SQLite.

  4. You will learn how to apply several aggresive caching techniques like custom permannet Hard Disk caching, caching in SQLite using Room and memory caching.

  5. How to use MVVM - Model View ViewModel to write easy to understand and testable app. You will be surprised how easy our code is to enhance or maintain.

  6. Use several Android Jetpack components like LiveData, ViewModel, Room etc.

Brief History of Firebase

Since the rise of the world wide web in the 1990s, there was only one main way of storing data in the cloud, that was through HTTP web services. You had to write server side code and host in a webserver, then write your web app and talk through HTTP methods. This was still the main way of doing things even with the rise of mobile development in the 2000s. However cloud technologies quickly started to arise like parse and Firebase. Firebase is a mobile and web application development platform developed by Firebase, Inc. in 2011, then acquired by Google in 2014. It is now the main cloud storage technology for mobile development. Firebase Realtime Database is one of the suite of products included in Firebase. It has the following advantages:

  1. It's realtime and allows our data to be synced across a multitude of devices.

  2. It's easy to use  and integrate into our projects.

  3. It's cross platform.

  4. It is well maintained by Google engineers. There is also reasonable stability despite the updates.

  5. It has an honest free package.


Who this course is for:

  • All Students and Android Developers who want to create a full app
  • Beginner developers who want to create full android apps using latest techniques recommended by Google
  • Advanced Developers who want to start using Android Jetpack straight away without going through manuals
  • Students who want to master Firebase Realtime Database and Firebase Cloud Storage

Instructor

Clement Ochieng
Software Engineer and Instructor
Clement Ochieng
  • 3.9 Instructor Rating
  • 29 Reviews
  • 163 Students
  • 6 Courses

Around 5 years, a change of events got me enrolled in a Software Engineering program as opposed to law. Since then I haven't looked back and has continued enjoying myself day by day.

I create apps for startups in Nairobi. I also an online instructor. I have contributed more than 400 projects in Github and published hundreds of free video and text tutorials. I have also published dozens of pro apps at Google Play.

I enjoy learning and sharing my knowledge. Trying to make concepts easier for others is probably my biggest passion. I also enjoy attempting to make code as easy as possible yet re-usable.


When not coding I do Meditation and try to understand Enlightenment. I also enjoying gazing at massive stars and galaxies. I also do mountain bike riding every two or three days to keep fit.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.