Android Realm Fundamentals

To save a large amount of structured data persistently, you need a database system. In this course, you'll discover Realm, an object-oriented database system that stores data in an object tree and performs queries at a very high speed.
Course info
Rating
(32)
Level
Beginner
Updated
Apr 21, 2017
Duration
2h 29m
Table of contents
Course Overview
Make the Most out of This Course
Getting Familiar with Realm
Setting up Realm
Performing Query, Update, and Delete Operation
Creating an App Using Realm
Exploring Miscellaneous Realm Concepts
Conclusion
Description
Course info
Rating
(32)
Level
Beginner
Updated
Apr 21, 2017
Duration
2h 29m
Description

Most Android apps need to save data persistently. Data saved can be the user settings, file based, and can be in a structured form. To save a large amount of structured data persistently, we need a database system. In this course, Android Realm Fundamentals, you'll discover Realm, an object-oriented database system that stores data in an object tree and performs queries at a very high speed. The database remains private to your own application, and by default cannot be accessed from outside the application. First, you'll learn the basic fundamentals of Realm and how to integrate it into your own project. Next, you'll dive further into Realm by exploring how to write queries, perform sync and async transactions, and how to implement Realm into use for creating a professional app. Finally, you'll learn miscellaneous concepts such as, Realm notifications, custom Realm configurations, database migration, and upgrading Realm schema. By the end of this course, you'll have a strong foundation and understanding of the Realm Database System in Android.

About the author
About the author

Sriyank is a passionate software developer and loves to share his knowledge through his blogs and video courses. He follows "share and gain" principle which led him to publish many courses online. Though he has a deep love for Android he also specializes in other mobile app platforms such as iOS and also web development frameworks such as Laravel. He started his journey of sharing knowledge by holding hands-on workshops in various top level Indian Institutes such as NITs and IITs which eventually made him the speaker of one of the Google Developers Groups India which further supported his workshops in many more institutions. Currently Sriyank is working as freelance software developer and a proud online trainer. Apart from this, he loves to travel and explore new places.

More from the author
Android Fundamentals: Content Providers
Beginner
3h 26m
27 Jul 2017
Android File System
Beginner
2h 25m
28 Mar 2017
More courses by Sriyank Siddhartha
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, this is Sriyank Siddhartha, and I welcome you all to my course of Android Realm Fundamentals. I am an app developer by profession and love to share knowledge in the best possible ways through my online video courses. In recent days, I have published several courses related to the Android persistent storage options, such as SharedPreferences and file system. Now it's time to explore the database system of Realm in Android. To save a large amount of structured data persistently, we need a database system. Realm is one of a kind, similar to the SQLite, though it has nothing to do with the SQLite, and data is saved persistently in the object tree. And trust me, Realm is gradually getting more popular than SQLite because of several reasons, one of which is that you do not have to write any SQL queries in the case of Realm, like we do in the case of SQLite. This course starts with the basics and fundamentals of Realm, and covers all the concepts such as, how do we integrate Realm in our project, performing insert, query, delete, and update operations, using RecyclerView with Realm, configuring Realm such as upgrading schema, applying migration, and so on. And at last, we will explore various miscellaneous concepts related to Realm such as Realm notification, performing synchronous and asynchronous queries, and so on. And we will explore each and every topic in detail by creating a demo application as well. So no significant prior knowledge of Android storage system is required to get started with this course. So by the end of this course, you will have a very strong foundation of Realm database systems in Android. So come join me, and let's together explore Realm in Android, only at Pluralsight.

Setting up Realm
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we are basically going to get started with our demo application related to Realm database. So in this module, first we are going to check out the initial project setup for our demo application. And next, we will check out how to insert data to the Realm database synchronously, that is using the main UI thread. And next, we will also check out how do we insert data to the Realm asynchronously, that is using the background thread. Proceeding forward, we will check out how do we create a model class in Realm and then various annotations that we can use inside Realm. And at the end, we will write a simple query to fetch all the Realm content that we will save using the model classes inside the Realm database.

Creating an App Using Realm
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we are going to create a very small application using the RecyclerView. And using the RecyclerView, we will display all the user objects present inside the Realm database. So for this module, there is a small prerequisite, you should know the basics of what is a RecyclerView and what is a CardView. Now since this is a beginner course, I will implement the RecyclerView along with the CardView at a very beginner level. But still, in order to understand this module very clearly and very precisely, you have to go through the basics of the RecyclerView, which is present in the course of Getting Started with Android Material Design. So this is my course where I have a separate module of, Understanding RecyclerView and CardViews. Now make sure you go through this module, and even if you do not want to go through all the videos present inside this module, then make sure you have gone through the first four videos of this module, that is from Overview until Inspecting RecyclerView Behavior. So please go through it, and then come back to this module.

Exploring Miscellaneous Realm Concepts
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we will explore various miscellaneous concepts of Realm that are going to be very crucial for you while using Realm in your professional application. So what are the topics that we are going to cover? So in this module we will check out the various relationships that exist in Realm, asynchronous queries, and also how can we use Realm notification to keep track of the modifications being done on the Realm objects, Realm list, or the Realm wizards. And then proceeding forward, we will check out the various aggregation methods related to the RealmResults objects, and we will check out how can we customize the Realm configuration present in our application, such as how do we define the custom database name, create and use another Realm apart from the default Realm database provided to us by default, and then we will check out how do we define the custom schemas for our Realm database? And finally, we will check out how can we upgrade the database schema by applying migration to our Realm database?

Conclusion
Hi, this is Sriyank Siddhartha, and welcome to the concluding module of this course. So until now we have covered almost all the concepts related to the Realm database. Now at the end of this course, I would like to tell you that the Realm database can be used with other popular libraries that are commonly used in any professional application, such as GSON, Kotlin, Retrofit, and RxJava. Among these libraries you will find Realm playing a very crucial roll in the case of Retrofit and RxJava, and if you're a fan of RxJava, then please select Realm as your database. Now if you want to know how do we use Realm with these libraries, then please refer to the official documentation of the Realm, and also please refer to the Realm GitHub repositories for the sample applications. And trust me, the official documentation of the Realm and also the GitHub repository of the Realm is really very helpful to get started with these libraries.