# LocalStorage

Artifact: [androidx.appsearch:appsearch-local-storage](https://developer.android.com/jetpack/androidx/releases/appsearch) [View Source](https://cs.android.com/search?q=file:androidx/appsearch/localstorage/LocalStorage.java+class:androidx.appsearch.localstorage.LocalStorage) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/appsearch#1.1.0)

*** ** * ** ***

<br />

```
class LocalStorage
```

<br />

*** ** * ** ***

An AppSearch storage system which stores data locally in the app's storage space using a bundled version of the search native library.

The search native library is an on-device searching library that allows apps to define `https://developer.android.com/reference/kotlin/androidx/appsearch/app/AppSearchSchema`s, save and query a variety of `https://developer.android.com/reference/kotlin/androidx/appsearch/annotation/Document`s. The library needs to be initialized before using, which will create a folder to save data in the app's storage space.

Queries are executed multi-threaded, but a single thread is used for mutate requests (put, delete, etc..).

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.GlobalSearchContext` Contains information relevant to creating a global search session. |
| `class https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.GlobalSearchContext.Builder` Builder for `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.GlobalSearchContext` objects. |
| `class https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext` Contains information about how to create the search session. |
| `class https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext.Builder` Builder for `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext` objects. |

| ### Public functions |
|---|---|
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/appsearch/app/GlobalSearchSession!>` | `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage#createGlobalSearchSessionAsync(androidx.appsearch.localstorage.LocalStorage.GlobalSearchContext)( context: https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.GlobalSearchContext )` Opens a new `https://developer.android.com/reference/kotlin/androidx/appsearch/app/GlobalSearchSession` on this storage. |
| `java-static https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/appsearch/app/AppSearchSession!>` | `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage#createSearchSessionAsync(androidx.appsearch.localstorage.LocalStorage.SearchContext)(context: https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext)` Opens a new `https://developer.android.com/reference/kotlin/androidx/appsearch/app/AppSearchSession` on this storage with executor. |
| `java-static https://developer.android.com/reference/kotlin/androidx/appsearch/app/Features` | `@https://developer.android.com/reference/kotlin/androidx/appsearch/app/ExperimentalAppSearchApi https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage#getFeatures()()` Returns the `https://developer.android.com/reference/kotlin/androidx/appsearch/app/Features` to check for the availability of certain features for this AppSearch storage. |

## Public functions

### createGlobalSearchSessionAsync

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

```
java-static fun createGlobalSearchSessionAsync(
    context: LocalStorage.GlobalSearchContext
): ListenableFuture<GlobalSearchSession!>
```

Opens a new `https://developer.android.com/reference/kotlin/androidx/appsearch/app/GlobalSearchSession` on this storage.

The `https://developer.android.com/reference/kotlin/androidx/appsearch/app/GlobalSearchSession` opened from this `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage` allows the user to search across all local databases within the `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage` of this app, however cross-app search is not possible with `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage`.

This process requires a native search library. If it's not created, the initialization process will create one.

### createSearchSessionAsync

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

```
java-static fun createSearchSessionAsync(context: LocalStorage.SearchContext): ListenableFuture<AppSearchSession!>
```

Opens a new `https://developer.android.com/reference/kotlin/androidx/appsearch/app/AppSearchSession` on this storage with executor.

This process requires a native search library. If it's not created, the initialization process will create one.

| Parameters |
|---|---|
| `context: https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext` | The `https://developer.android.com/reference/kotlin/androidx/appsearch/localstorage/LocalStorage.SearchContext` contains all information to create a new `https://developer.android.com/reference/kotlin/androidx/appsearch/app/AppSearchSession` |

### getFeatures

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

```
@ExperimentalAppSearchApi
java-static fun getFeatures(): Features
```

Returns the `https://developer.android.com/reference/kotlin/androidx/appsearch/app/Features` to check for the availability of certain features for this AppSearch storage.