Files
flipper/docs/setup/databases-plugin.md
Arnaud Frugier fa887f4f12 Add documentation for Databases Plugin
Summary: ^^

Reviewed By: jknoxville

Differential Revision: D15666190

fbshipit-source-id: 4b2f5c5544820baa4654b4e52a7e75bd275facc1
2019-06-06 11:17:19 -07:00

63 lines
1.9 KiB
Markdown

---
id: databases-plugin
title: Databases Plugin Setup
sidebar_label: Databases
---
To use the databases plugin, you need to add the plugin to your Flipper client instance. The plugin is currently only available for Android.
## Android
Instantiate and add the plugin in `FlipperClient`.
```java
import com.facebook.flipper.plugins.crashreporter.DatabasesPlugin;
client.addPlugin(new DatabasesFlipperPlugin(context));
```
By default it will list all sqlite databases returned by the context. If you are storing a sqlite database somewhere else, you can specify a `File` to it:
```java
client.addPlugin(new DatabasesFlipperPlugin(new SqliteDatabaseDriver(context, new SqliteDatabaseProvider() {
@Override
public List<File> getDatabaseFiles() {
List<File> databaseFiles = new ArrayList<>();
for (String databaseName : context.databaseList()) {
databaseFiles.add(context.getDatabasePath(databaseName));
}
databaseFiles.add("...path_to_your_db...")
return databaseFiles;
}
})));
```
If you use a different type of database other than sqlite, you can implement a driver to be able to access it via Flipper.
```java
client.addPlugin(new DatabasesFlipperPlugin(new DatabaseDriver(context) {
@Override
public List getDatabases() {
return null;
}
@Override
public List<String> getTableNames(DatabaseDescriptor databaseDescriptor) {
return null;
}
@Override
public DatabaseGetTableDataResponse getTableData(DatabaseDescriptor databaseDescriptor, String table, String order, boolean reverse, int start, int count) {
return null;
}
@Override
public DatabaseGetTableStructureResponse getTableStructure(DatabaseDescriptor databaseDescriptor, String table) {
return null;
}
@Override
public DatabaseExecuteSqlResponse executeSQL(DatabaseDescriptor databaseDescriptor, String query) {
return null;
}
}));
```