# DigitalInkRecognizer

public interface **DigitalInkRecognizer** extends [Closeable](https://developer.android.com/reference/java/io/Closeable.html), [LifecycleObserver](https://developer.android.com/reference/androidx/lifecycle/LifecycleObserver.html) A `https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognition` client to perform recognition on digital ink.

Digital ink is the vector representation of what a user has written. It is composed of a
sequence of strokes, each being a sequence of touch points (coordinates and timestamp). See
`https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/Ink`
for details.

A `https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognizer` is created via `https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognition#getClient(com.google.mlkit.vision.digitalink.recognition.DigitalInkRecognizerOptions)`.

Example:

    DigitalInkRecognizer recognizer = DigitalInkRecognition.getClient(options);
     
This class can be used from any thread.

### Public Method Summary

|---|---|
| abstract void | [close](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognizer#close())() Frees all resources used by the recognizer. |
| abstract Task\<[RecognitionResult](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/common/RecognitionResult)\> | [recognize](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognizer#recognize(com.google.mlkit.vision.digitalink.recognition.Ink,%20com.google.mlkit.vision.digitalink.recognition.RecognitionContext))([Ink](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/Ink) ink, [RecognitionContext](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/RecognitionContext) context) Performs a recognition of the input ink using a recognition context. |
| abstract Task\<[RecognitionResult](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/common/RecognitionResult)\> | [recognize](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/DigitalInkRecognizer#recognize(com.google.mlkit.vision.digitalink.recognition.Ink))([Ink](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/Ink) ink) Performs a recognition of the input ink using the default recognition context. |

### Inherited Method Summary

From interface java.io.Closeable

|---|---|
| abstract void | close() |

From interface java.lang.AutoCloseable

|---|---|
| abstract void | close() |

## Public Methods

#### public abstract void **close** ()

Frees all resources used by the recognizer. Calling any other method after this one
will result in an error.

#### public abstract Task\<[RecognitionResult](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/common/RecognitionResult)\>
**recognize** ([Ink](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/Ink) ink, [RecognitionContext](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/RecognitionContext) context)

Performs a recognition of the input ink using a recognition context.

A recognition context contains information about the size of the writing area, and
the characters that have already been entered. This helps disambiguate certain
cases.

Example usage: a previous recognition has yielded the string "hello", that has been
inserted in a text field. The user then handwrites "world". Send the present method the
ink showing "world", and "hello" as a string in \`context\`. The recognizer will most
likely return the string " world" with a leading space separating the two words.

See `https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/RecognitionContext` for details.

##### Parameters

| ink | Input to be recognized |
| context | See `https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/RecognitionContext` for details. |
|---|---|

##### Returns

- A list of recognition candidates. If nothing can be recognized, this list will be empty.

#### public abstract Task\<[RecognitionResult](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/common/RecognitionResult)\>
**recognize** ([Ink](https://developers.google.com/android/reference/com/google/mlkit/vision/digitalink/recognition/Ink) ink)

Performs a recognition of the input ink using the default recognition context.

Using the default recognition context may lead to sub-optimal recognition
accuracy.

##### Parameters

| ink | Input to be recognized |
|---|---|

##### Returns

- A list of recognition candidates. If nothing can be recognized, this list will be empty.