RoomDB
**ROOM DB** 1. Room is an Android Architecture component. 2. It provides an abstraction Layer over SQLite. 3. Easy caching of relavent piece of data. **Components of ROOM** 1. Entity : 1. An Entity Defines schema of database tables, Each table is defined by an entity. 2. Entity class is Annoted with @Entity. 3. It contains the getters and setters for the field of the database. 4. By default Room uses the class name as the tableName , If you want a table to have a different name, set the tableName property of the @Entity annotation. 5. By default Room uses the field names as the Column names in the database , If you want a column to have a different name, add the @ColumnInfo annotation to a field. 6. Entity class must have atleast 1 primary key. Example : @Entity(tableName = "User") //tableName value is case sensitive. class Users{ @PrimaryKey private String id; @ColumnInfo(name = "first_name") private String f...