Android
1 需要提供给我们的信息
应用ID applicationId
, 例如 com.example.test
应用签名 (32个字符)
2 获取配置信息
提供以上信息后,我们会按照这个信息,提供appKey
和appSecret
以及名称为cishu
的文件,请妥善保管这些信息,并谨记不要用任何形式打开cishu
文件。
cishu
文件需放置于您项目的\app\src\main\assets\
中。
我们还会提供两个aar
文件,请将这两个文件放置于和app文件夹同级的libs
文件夹。并在app
的build.gradle
的dependencies
中增加如下配置
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);
}