Defines our SQLite database tables. This example corresponds to the @DAO and Build A Database entries.
Create a custom class to define your table, using Entity to annotate it
@Entity(tableName = "contacts") // Name of table specified as 'contacts'. It is common for database tables and their corresponding classes to not have same name public class ContactEntry { @PrimaryKey(autoGenerate = true) // States that the next variable will be the table's primary key (and therefore unique) private int id; // Each member variable corresponds to a column in the table private String name; // Each member variable corresponds to a column in the table @ColumnInfo(name = "contactAge") // If you wish to specifically state the name of the column use this annotation private int age; // Each member variable corresponds to a column in the table @Ignore // If you do not want a variable to appear in the table use the @ignore annotation private String address; @Ignore // Tell Room to use the other constructor (which includes the id field) using the @Ignore annotation, as Room can only use one constructor. This constructor will be used when the user adds a new entry, as they will not know the id of the new entry. public ContactEntry (String name, int age) { this.description = name; this.age = age; } public ContactEntry (int id, String name, int age) { this.id = id; this.description = name; this.age = age; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name= name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }To create the table you will need to Build A Database. To interact with the table you will need to create a @DAO.
