I have Activity called FilmActivity.java in this class there is an inner class called OpenDbConnection extends AsyncTask 
in OpenDbConnection i open connection to Database 
 public AppDatabase db = Room.databaseBuilder(getApplicationContext(),
            AppDatabase.class, "FilmDatabase").fallbackToDestructiveMigration().build();
And in FilmActivity.java there is A method called setFavButton 
public void setFavButton(View view) {
    String pos = getStringFromIntent("position");
    Toast.makeText(this, pos, Toast.LENGTH_SHORT).show();
    ImageView favButton = findViewById(R.id.activity_film_fav_button);
    if (isPressedButton) {
        favButton.setImageResource(R.drawable.ic_like);
        isPressedButton = false;
        Toast.makeText(this, "Removed From Favourite Film", Toast.LENGTH_SHORT).show();
    } else {
        favButton.setImageResource(R.drawable.ic_like_activated);
        isPressedButton = true;
        Toast.makeText(this, "Added To Favourite Film", Toast.LENGTH_SHORT).show();
    }
    filmList.get(Integer.valueOf(pos)).setFavFilm(String.valueOf(isPressedButton));
}
That Connected With Layout with onClick
 <ImageView
                android:id="@+id/activity_film_fav_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/ativity_film_text_header"
                android:onClick="setFavButton"
                android:paddingTop="4dp"
                android:src="@drawable/ic_like" />
I want when user Click on this image (when setFavButton is called ) he change the photo and he should update something in database i have the method in database that Update But , How Can I Called The DataBase Object which called db From inner class to FilmActivity class
I tried to Create Object From Inner class in setFavButton But the app crashed and it say that i can call the Database in main thread
The setFavButton Method Should be like that
public void setFavButton(View view) {
    String pos = getStringFromIntent("position");
    Toast.makeText(this, pos, Toast.LENGTH_SHORT).show();
    ImageView favButton = findViewById(R.id.activity_film_fav_button);
    if (isPressedButton) {
        favButton.setImageResource(R.drawable.ic_like);
        isPressedButton = false;
        Toast.makeText(this, "Removed From Favourite Film", Toast.LENGTH_SHORT).show();
    } else {
        favButton.setImageResource(R.drawable.ic_like_activated);
        isPressedButton = true;
        Toast.makeText(this, "Added To Favourite Film", Toast.LENGTH_SHORT).show();
    }
    filmList.get(Integer.valueOf(pos)).setFavFilm(String.valueOf(isPressedButton));
    // here should update the list in Database
    db.userDao().updateFilmList(filmList);
}
But it crashed !! because i can't use the database in main thread
What Should i do ???
