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

1.9 KiB

id, title, sidebar_label
id title sidebar_label
databases-plugin Databases Plugin Setup 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.

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:

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.

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;
    }
    }));