Diese Art der Klasse sollte in jeder App nur einmal vorkommen. Sie regelt den Zugriff auf alle Tabellen. Diese Klasse erbt von RoomDatabase:

Beispiel:

import android.content.Context;  
  
import androidx.room.Database;  
import androidx.room.Room;  
import androidx.room.RoomDatabase;  
  
  
@Database(entities = {Article.class}, version = 1)  
public abstract class AppRoomDatabase extends RoomDatabase {  
    private static  AppRoomDatabase roomDb =null;  
    public abstract ArticleDao articleDao();
  
    static AppRoomDatabase getDatabase(final Context context) {  
        if (roomDb == null) {  
            synchronized (AppRoomDatabase.class) {  
                if (roomDb == null) {  
                    roomDb = Room.databaseBuilder(context.getApplicationContext(), AppRoomDatabase.class, "article_database").build();  
                }  
            }  
        }  
        return roomDb;  
    }  
}