作文批改 Android SDK簡(jiǎn)介
說(shuō)明
Hi,您好,歡迎使用有道智云作文批改Android SDK。
本文檔主要針對(duì)需要集成 作文批改 Android SDK的開發(fā)工程師,詳細(xì)描述作文批改能力及集成過(guò)程。
如果您有與我們商務(wù)合作的需求,可以通過(guò)以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對(duì)文檔內(nèi)容有任何疑問(wèn),可以通過(guò)以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云語(yǔ)音技術(shù)交流QQ群:861723255
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
本文檔主要針對(duì)開發(fā)人員,接入測(cè)試前需要在后臺(tái)創(chuàng)建 Android 應(yīng)用,并綁定服務(wù);如果您還沒(méi)有,請(qǐng)按照 新手指南 操作。
平臺(tái)向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測(cè)試所用,具體資費(fèi)規(guī)則詳見 作文批改服務(wù)報(bào)價(jià) 。
功能介紹
作文批改安卓sdk 是有道智云開放平臺(tái)提供的云服務(wù)之一,是有道作文批改接口的一種實(shí)現(xiàn),支持中英,圖片和文本兩種模式。
共有中英圖文類型4個(gè)接口。
圖像類型:
圖像數(shù)據(jù) => 轉(zhuǎn)換成Base64編碼 => 網(wǎng)絡(luò)請(qǐng)求 => 返回結(jié)果
文本類型:
文本數(shù)據(jù) => 網(wǎng)絡(luò)請(qǐng)求 => 返回結(jié)果
兼容性
支持設(shè)備:運(yùn)行了 Android 9及以上系統(tǒng)的 Android 設(shè)備
作文批改SDK集成指南
集成前提
開始集成SDK之前開發(fā)者需要登錄 有道智云平臺(tái) ,創(chuàng)建應(yīng)用獲取應(yīng)用ID(或者通過(guò)運(yùn)營(yíng)人員獲取應(yīng)用ID),以便使用作文批改服務(wù)。
注:應(yīng)用ID即Appkey,需要安卓SDK類型。
Demo運(yùn)行步驟
根據(jù)官網(wǎng)控制臺(tái) 提示,直接下載SDK,SDK中包含簡(jiǎn)易可運(yùn)行的Demo。如下圖所示:
lib目錄下為作文批改sdk所需的jar包和so文件
android_demo_composition_correction 為作文批改的demo
接入文檔和demo運(yùn)行需要修改位置的Readme.txt
1.使用AndroidStudio 導(dǎo)入項(xiàng)目
2.
打開Redame.txt,按步驟修改demo即可
1.修改Appkey和AppSecret
2.build.gradle 修成為自己Appkey所對(duì)應(yīng)的包名
3.修改完成之后,連接設(shè)備就可以運(yùn)行了
集成步驟
SDK包導(dǎo)入
請(qǐng)?jiān)诠こ涛募夸浵聞?chuàng)建一個(gè)名為 lib的子目錄(有的話則不需要?jiǎng)?chuàng)建),把和對(duì)應(yīng)jar包、so文件拷貝到lib文件夾下,并將以下代碼添加到app的build.gradle中:
android {
...
sourceSets {
main {
jniLibs.srcDirs = ['lib']
}
}
}
dependencies {
//base
implementation files('lib/YoudaoBase_v20230209.jar')
//認(rèn)證
implementation files('lib/online_auth.jar')
//作文批改
implementation files('lib/compositioncorrection_v20230209.jar')
//json解析及網(wǎng)絡(luò)請(qǐng)求
implementation "com.google.code.gson:gson:2.8.5"
implementation "com.squareup.okhttp3:okhttp:4.9.3"
}
具體版本號(hào)參考智云給的lib包
SDK初始化
使用作文批改SDK,請(qǐng)?jiān)诔绦虻腁pplication中調(diào)用SDK初始化代碼,可以參考demo中MyApplication
注:appKey即應(yīng)用id 。sdk請(qǐng)使用sdk類型的appkey
//TODO 修改成智云官網(wǎng)申請(qǐng)的AppKey和AppSecret
private val MY_APP_KEY = ""
private val appSecret = ""
override fun onCreate() {
super.onCreate()
YouDaoApplication.init(this,MY_APP_KEY,appSecret)
}
功能集成
中文圖片
CompositionCorrection.correctionChineseImage(
input =imageBase64, //需要批改的圖片的base64字符串
listener= object : CorrectListener { //批改作文的回調(diào)接口 成功或者失敗
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@ChineseImageActivity, CorrectResultActivity::class.java).apply {
putExtra("result",result as Serializable)
putExtra("type","ch_image")
})
}
}
},
grade = grade,//作文等級(jí)
title = title,//作文標(biāo)題
requirement= requirement, //題目要求
)
返回結(jié)果釋義詳見API文檔:中文作文批改—圖像
中文文本
CompositionCorrection.correctionChineseText(
input = CH_TEXT_TEST_DATA, //需要批改文本
grade = grade,//作文等級(jí)
title = title,//作文標(biāo)題
requirement= requirement, //題目要求
listener= object : CorrectListener {//批改作文的回調(diào)接口 成功或者失敗
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(Companion.TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@ChineseTextActivity,CorrectResultActivity::class.java).apply {
putExtra("result",result as Serializable)
putExtra("type","ch_text")
})
}
}
}
)
返回結(jié)果釋義詳見API文檔:中文作文批改—文本
英文文本
CompositionCorrection.correctionEnglishText(
input = EN_TEXT_TEST_DATA, //需要批改的圖片的base64字符串
grade = grade,//作文等級(jí)
title = title ,//作文標(biāo)題
isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查詢同義詞
correctVersion = correctVersion, //作文批改版本:基礎(chǔ),高級(jí)
isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回寫作報(bào)告(essayReport字段,僅在高級(jí)批改時(shí)生效)
listener= object : CorrectListener { //批改作文的回調(diào)接口 成功或者失敗
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@EnglishTextActivity,CorrectResultActivity::class.java).apply {
putExtra("result",result )
putExtra("type","en_text")
})
}
}
}
)
返回結(jié)果:英語(yǔ)作文批改(文本輸入)
英文圖片
CompositionCorrection.correctionEnglishImage(
input =imageBase64, //需要批改文本
grade = grade,//作文等級(jí)
title = title ,//作文標(biāo)題
isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查詢同義詞
correctVersion = correctVersion, //作文批改版本:基礎(chǔ),高級(jí)
isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回寫作報(bào)告(essayReport字段,僅在高級(jí)批改時(shí)生效)
listener= object : CorrectListener { //批改作文的回調(diào)接口 成功或者失敗
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@EnglishImageActivity, CorrectResultActivity::class.java).apply {
putExtra("result",result )
putExtra("type","en_image")
})
}
}
}
)
返回結(jié)果:
英語(yǔ)作文批改(圖像識(shí)別)
其他
錯(cuò)誤碼請(qǐng)參考API文檔