跳到主要内容
版本:v2

Android

1 需要提供给我们的信息

应用ID applicationId, 例如 com.example.test

应用签名 (32个字符)

2 获取配置信息

提供以上信息后,我们会按照这个信息,提供appKeyappSecret以及名称为cishu的文件,请妥善保管这些信息,并谨记不要用任何形式打开cishu文件。 cishu文件需放置于您项目的\app\src\main\assets\中。

我们还会提供两个aar文件,请将这两个文件放置于和app文件夹同级的libs文件夹。并在appbuild.gradledependencies中增加如下配置

    implementation fileTree(include: ['*.aar'], dir: 'libs') 
// define a BOM and its version
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.9.2"))

// define any required OkHttp artifacts without version
implementation("com.squareup.okhttp3:okhttp")
implementation("com.squareup.okhttp3:logging-interceptor")

3 代码编写

初始化

以下方式,二选一即可
方式一(无数据返回):
WordSearchManager.getInstance().sdkInit("填入您的appKey", "填入您的appSecret");

方式二(调用接口并返回当前账户书籍列表数据):
WordSearchManager.getInstance().sdkInit("填入您的appKey", "填入您的appSecret", new WordSearchCallback() {
@Override
public void onSuccess(WordSearchContentBean contentBean) {
System.out.println("书籍列表数据: " + contentBean.content);
}

@Override
public void onFailed(int errorCode, String message) {
System.out.println(errorCode + " : " + message);
}
});

获取书籍列表

      WordSearchManager.getInstance().sdkGetBooks(MainActivity.this, new WordSearchCallback() {
@Override
public void onSuccess(WordSearchContentBean contentBean) {
System.out.println("书籍列表: " + contentBean.content);
}

@Override
public void onFailed(int errorCode, String message) {
System.out.println(errorCode + " : " + message);
}
});

获取定性语 (要查询的字词可以获取哪些类型的结果)

        WordSearchManager.getInstance().sdkGetStructType(MainActivity.this, wordToSearch, new WordSearchCallback() {
@Override
public void onSuccess(WordSearchContentBean contentBean) {
System.out.println("可查询类型(定性语结果): " + contentBean.content);
}

@Override
public void onFailed(int errorCode, String message) {
System.out.println(errorCode + " : " + message);
}
});
    /**
* 单字笔顺查询
*/
BASIC,
/**
* 精确搜索,需要传入书籍id
*/
WORD,
/**
* 百科
*/
ENCYCLOPEDIA,
/**
* 历史纪年
*/
EPOCH,
/**
* 古今地名
*/
PLACE_NAME,
/**
* 英译中
*/
ENGLISH
/**
* 中译英
*/
CHINESE_ENGLISH

查询结果(增加了字体加密)

 searchWithType(editText.getText().toString().trim(), "WORDS", "1,40");

/**
* 根据类型请求结果
* @param w
* @param type
* @param params , 使用,分隔 (如bookId)
*/
private void searchWithType(String w, String type, String params) {

System.out.println("查询类型: " + type);

WordSearchManager.getInstance().sdkSearchContent(MainActivity.this, w,
new WordSearchCallback() {
@Override
public void onSuccess(WordSearchContentBean contentBean) {

System.out.println("查询结果 Start ############################");
System.out.println(contentBean.content == null ? "" : contentBean.content);
System.out.println("查询结果 End ############################");

System.out.println("字体信息 Start ############################");
System.out.println(contentBean.fontInfo == null ? "" : contentBean.fontInfo);
System.out.println("字体信息 End ############################");

String contentResult = contentBean.content == null ? "" : (contentBean.content + "\n");
contentResult += contentBean.fontInfo == null ? "" : (contentBean.fontInfo + "\n");

textView.setText(contentResult);

// 示例中给出了下载字体并设置字体的代码,这里不再赘述,您也可以按照自己的方式下载和设置字体。
}

@Override
public void onFailed(int errorCode, String message) {
System.out.println(errorCode + " : " + message);
}
}, type,params);
}

设置请求连接超时时间

 //  单位:s , 默认请求超时时间是5秒,最短建议不少于3秒
WordSearchManager.getInstance().setSdkRequestTimeout(6);

多个签名情况下,动态设置cishu文件路径

 //  设置cishu文件路径: 路径必须在Assets目录下或Assets子目录下,cishu 文件也可自定义命名; 
// 不设置此方法默认取Assets目录下cishu文件
WordSearchManager.getInstance().sdkFilePath("debug/debug_cishu");

查词弹框方法

/**
* 查词SDK弹框方法
* @param activity 页面Activity
* @param text 查询的文本
* @param offsetY 距离屏幕左上角的Y轴偏移量
* @param maxHeight 弹框最大高度
*/
public void sdkTextSearch(Activity activity, String text, int offsetY, int maxHeight)

使用示例:搜索‘中’一字,offsetY为显示框Y轴位置,maxHeight为显示框最大高度

WordSearchManager.getInstance().sdkTextSearchDialog(MainActivity.this, "中", 50, 300);

4 错误码说明

SDK返回错误

errorCode: -1000 SDK接口认证失败

errorCode: -1001 SDK接口查询参数异常

errorCode: -1003 SSL握手失败(手机时间设置错误导致)

errorCode: -1004 请求过于频繁

errorCode: -1005 请求接口超时

errorCode: -1006 网络异常

errorCode: -1007 其他错误

errorCode: -1008 查词词语长度过长,无法查询

服务器返回错误

服务器返回的40X错误