SDK文档
<h3>概述</h3>
<p>该部分接口的入口类为 <strong>RecognizeRequest</strong>,在调用该部分接口前,需要打开sdk和license认证通过,否则有可能会导致部分功能无法正常work。</p>
<h3>1.初始化SDK</h3>
<p><strong>接口名称:</strong></p>
<pre><code class="language-java">
private RecognizeRequest recognizeRequest;
public RecognizeRequest getRecognizeRequest() {
if (recognizeRequest == null)
recognizeRequest = new RecognizeRequest();
return recognizeRequest;
}</code></pre>
<p><strong>备注:在application中定义,并且在接口请求时调用这方法来调用接口。避免多次初始化对象进行复用</strong></p>
<h3>2. 提获取识别数据</h3>
<pre><code class="language-java">/**
* 通用识别
*
* @param context
* @param token
* @param doLocation
* @param imagePath
* @param bookId
* @param dstate
* @param index
* @param bookIdForm
* @param callback
*/
public void recognize(Context context, String token,
boolean doLocation, String imagePath, int bookId,
int dstate, String index, String bookIdForm,
SimpleCallback&lt;RecognizeEntity&gt; callback)
</code></pre>
<h4>2.1 参数类型</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>是否必填</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>context</td>
<td>是</td>
<td>Context</td>
<td>上下文</td>
</tr>
<tr>
<td>token</td>
<td>是</td>
<td>String</td>
<td>授权token</td>
</tr>
<tr>
<td>doLocation</td>
<td>是</td>
<td>boolean</td>
<td>不用指读情况下填false可获得更好体验 (true启用指读,false不启用指读)</td>
</tr>
<tr>
<td>imagePath</td>
<td>是</td>
<td>String</td>
<td>本地图片地址</td>
</tr>
<tr>
<td>bookId</td>
<td>是</td>
<td>int</td>
<td>如需识别内页则必填上一次识别结果的书本id,首次识别的时候传入-1</td>
</tr>
<tr>
<td>dstate</td>
<td>是</td>
<td>int</td>
<td>默认14(书本及手指检测状态,端算法返回,如果不接玩瞳端算法,直接使用固定值14)</td>
</tr>
<tr>
<td>index</td>
<td>是</td>
<td>String</td>
<td>默认“1”(请求类别,1为请求Brs,2为请求(点读)FDS, 默认1)</td>
</tr>
<tr>
<td>bookIdForm</td>
<td>是</td>
<td>String</td>
<td>默认“1”(强制识别的类型:默认 不强制 =0, 1 为强制选择一本资源bookid作为参数传入,3 为 强制选择一本相似书的baseBOOKID作为参数传入)</td>
</tr>
<tr>
<td>callback</td>
<td>是</td>
<td>SimpleCallback<RecognizeEntity></td>
<td>接受请求返回的数据</td>
</tr>
</tbody>
</table>
<h3>3.设置接口回调</h3>
<pre><code class="language-java">new SimpleCallback&lt;RecognizeEntity&gt;()</code></pre>
<h4>3.1 callback介绍</h4>
<p>callback是数据结果的返回,有两个方法onUiSuccess和onUiFailure;</p>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 请求失败,识别返回失败
* @param code 错误码
* @param msg 错误信息
*/
void onUiFailure(int code, String msg)
/**
* 识别数据返回成功
* @param recognizeEntity 识别数据
*/
void onUiSuccess(RecognizeEntity recognizeEntity)
</code></pre>
<h4>3.2 onUiSuccess回调的recognizeEntity获取pageId</h4>
<pre><code class="language-java">
//根据recognizeEntity获取PageId(资源库PageId)
int pageId = recognizeEntity.getBrs().getData().getPage().getPageId()
</code></pre>
<h2>补充</h2>
<h3>4.获取句子的重点单词和蓝思等级</h3>
<pre><code class="language-java">/**
* 获取句子的重点单词和蓝思等级
*
* @param context
* @param token
* @param pageId
* @param text
* @param callback
*/
public void getDialogueArticleOCRInfo(Context context, String token,
long pageId, String text,
SimpleCallback&lt;List&lt;DialogueArticleOCRBean&gt;&gt; callback)
</code></pre>
<h4>4.1 参数类型</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>是否必填</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>context</td>
<td>是</td>
<td>Context</td>
<td>上下文</td>
</tr>
<tr>
<td>token</td>
<td>是</td>
<td>String</td>
<td>授权token</td>
</tr>
<tr>
<td>pageId</td>
<td>是</td>
<td>long</td>
<td>书页id,根据数据找到目录下字词,记录重点字词</td>
</tr>
<tr>
<td>text</td>
<td>是</td>
<td>String</td>
<td>句子文本</td>
</tr>
<tr>
<td>callback</td>
<td>是</td>
<td>SimpleCallback<List<DialogueArticleOCRBean>></td>
<td>接受请求返回的数据</td>
</tr>
</tbody>
</table>
<h4>4.2 设置接口回调</h4>
<pre><code class="language-java">new SimpleCallback&lt;List&lt;DialogueArticleOCRBean&gt;&gt;()</code></pre>
<h4>4.3 callback介绍</h4>
<p>callback是数据结果的返回,有两个方法onUiSuccess和onUiFailure;</p>
<p><strong>方法名称:</strong></p>
<pre><code class="language-java"> /**
* 请求失败,获取返回失败
* @param code 错误码
* @param msg 错误信息
*/
void onUiFailure(int code, String msg)
/**
* 获取数据返回成功
* @param List&lt;DialogueArticleOCRBean&gt; 句子的重点单词和蓝思等级数据
*/
void onUiSuccess(List&lt;DialogueArticleOCRBean&gt; datas)
</code></pre>
<h4>4.4 onUiSuccess回调的DialogueArticleOCRBean介绍</h4>
<table>
<thead>
<tr>
<th>参数</th>
<th>类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>word</td>
<td>String</td>
<td>对应句子</td>
</tr>
<tr>
<td>labelTypes</td>
<td>int[]</td>
<td>标签类型,0重点字词,1-7分别表示蓝思Grade1、Grade2、Grade3、Grade4、Grade5、Grade6-8、Grade9-12</td>
</tr>
</tbody>
</table>