# RoomDatabase.PrepackagedDatabaseCallback

# RoomDatabase.PrepackagedDatabaseCallback

Artifact:[androidx.room:room-runtime](https://developer.android.com/jetpack/androidx/releases/room)  
[View Source](https://cs.android.com/search?q=file:androidx/room/RoomDatabase.android.kt+class:androidx.room.RoomDatabase.PrepackagedDatabaseCallback)  
Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/room#2.3.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/room/RoomDatabase.PrepackagedDatabaseCallback "View this page in Java")
Common/AllAndroid/JVMNative/C/iOSJavaScript
  - android  

  ```
  abstract class RoomDatabase.PrepackagedDatabaseCallback
  ```

*** ** * ** ***

Callback for[Builder.createFromAsset](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.Builder#createFromAsset(kotlin.String)),[Builder.createFromFile](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.Builder#createFromFile(java.io.File))and[Builder.createFromInputStream](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.Builder#createFromInputStream(java.util.concurrent.Callable))

This callback will be invoked after the pre-package DB is copied but before Room had a chance to open it and therefore before the[RoomDatabase.Callback](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.Callback)methods are invoked. This callback can be useful for updating the pre-package DB schema to satisfy Room's schema validation.

## Summary

|                                                                        ### Public constructors                                                                         |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
| [PrepackagedDatabaseCallback](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.PrepackagedDatabaseCallback#PrepackagedDatabaseCallback())`()` | android |

|                                 ### Public functions                                 |
|--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
| `open `[Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onOpenPrepackagedDatabase](https://developer.android.com/reference/kotlin/androidx/room/RoomDatabase.PrepackagedDatabaseCallback#onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase))`(db: `[SupportSQLiteDatabase](https://developer.android.com/reference/kotlin/androidx/sqlite/db/SupportSQLiteDatabase)`)` Called when the pre-packaged database has been copied. | android |

## Public constructors

### PrepackagedDatabaseCallback

android  
Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/room#2.3.0)  

```
PrepackagedDatabaseCallback()
```

## Public functions

### onOpenPrepackagedDatabase

android  
Added in[2.3.0](https://developer.android.com/jetpack/androidx/releases/room#2.3.0)  

```
open fun onOpenPrepackagedDatabase(db: SupportSQLiteDatabase): Unit
```

Called when the pre-packaged database has been copied.  

|                                                       Parameters                                                       |
|------------------------------------------------------------------------------------------------------------------------|---------------|
| `db: `[SupportSQLiteDatabase](https://developer.android.com/reference/kotlin/androidx/sqlite/db/SupportSQLiteDatabase) | The database. |