# StandaloneDatabaseProvider

Artifact: [androidx.media3:media3-database](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/database/StandaloneDatabaseProvider.java+class:androidx.media3.database.StandaloneDatabaseProvider)

*** ** * ** ***


```
@UnstableApi
public class StandaloneDatabaseProvider extends SQLiteOpenHelper implements DatabaseProvider
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [android.database.sqlite.SQLiteOpenHelper](https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html) ||
|   | ↳ | [androidx.media3.database.StandaloneDatabaseProvider](https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider) |

Known direct subclasses [ExoDatabaseProvider](https://developer.android.com/reference/androidx/media3/database/ExoDatabaseProvider)

|---|---|
| `https://developer.android.com/reference/androidx/media3/database/ExoDatabaseProvider` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider`. <br /> |

*** ** * ** ***

An `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html` that provides instances of a standalone database.

Suitable for use by applications that do not already have their own database, or that would prefer to keep tables used by media library components isolated in their own database. Other applications should prefer to use `https://developer.android.com/reference/androidx/media3/database/DefaultDatabaseProvider` with their own `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html`.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#DATABASE_NAME() = "exoplayer_internal.db"` The file name used for the standalone database. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#StandaloneDatabaseProvider(android.content.Context)(https://developer.android.com/reference/android/content/Context.html context)` Provides instances of the database located by passing `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#DATABASE_NAME()` to `https://developer.android.com/reference/android/content/Context.html#getDatabasePath(java.lang.String)`. |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#onCreate(android.database.sqlite.SQLiteDatabase)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html db)` |
| `void` | `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#onDowngrade(android.database.sqlite.SQLiteDatabase,int,int)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html db, int oldVersion, int newVersion)` |
| `void` | `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#onUpgrade(android.database.sqlite.SQLiteDatabase,int,int)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html db, int oldVersion, int newVersion)` |

| ### Inherited Constants |
|---|
| From [androidx.media3.database.DatabaseProvider](https://developer.android.com/reference/androidx/media3/database/DatabaseProvider) |---|---| | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider#TABLE_PREFIX() = "ExoPlayer"` Prefix for tables that can be read and written by media library components. | |

| ### Inherited methods |
|---|
| From [androidx.media3.database.DatabaseProvider](https://developer.android.com/reference/androidx/media3/database/DatabaseProvider) |---|---| | `abstract https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html` | `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider#getReadableDatabase()()` Creates and/or opens a database. | | `abstract https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html` | `https://developer.android.com/reference/androidx/media3/database/DatabaseProvider#getWritableDatabase()()` Creates and/or opens a database that will be used for reading and writing. | |
| From [android.database.sqlite.SQLiteOpenHelper](https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html) |---|---| | `synchronized void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#close()()` | | `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#getDatabaseName()()` | | `https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#getReadableDatabase()()` | | `https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#getWritableDatabase()()` | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onConfigure(android.database.sqlite.SQLiteDatabase)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html db)` | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onOpen(android.database.sqlite.SQLiteDatabase)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html db)` | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#setIdleConnectionTimeout(long)(long idleConnectionTimeoutMs)` **This method is deprecated.** | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#setLookasideConfig(int, int)(int slotSize, int slotCount)` | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#setOpenParams(android.database.sqlite.SQLiteDatabase.OpenParams)(https://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.OpenParams.html openParams)` | | `void` | `https://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#setWriteAheadLoggingEnabled(boolean)(boolean enabled)` | |

## Constants

### DATABASE_NAME

```
public static final String DATABASE_NAME = "exoplayer_internal.db"
```

The file name used for the standalone database.

## Public constructors

### StandaloneDatabaseProvider

```
public StandaloneDatabaseProvider(Context context)
```

Provides instances of the database located by passing `https://developer.android.com/reference/androidx/media3/database/StandaloneDatabaseProvider#DATABASE_NAME()` to `https://developer.android.com/reference/android/content/Context.html#getDatabasePath(java.lang.String)`.

| Parameters |
|---|---|
| `https://developer.android.com/reference/android/content/Context.html context` | Any context. |

## Public methods

### onCreate

```
public void onCreate(SQLiteDatabase db)
```

### onDowngrade

```
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion)
```

### onUpgrade

```
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
```