帮助与文档 > 产品文档 > 智慧学习服务 > Android_SDK文档 > 作文批改
作文批改

作文批改 Android SDK简介

说明

Hi,您好,欢迎使用有道智云作文批改Android SDK。

本文档主要针对需要集成 作文批改 Android SDK的开发工程师,详细描述作文批改能力及集成过程。

如果您有与我们商务合作的需求,可以通过以下方式联系我们:

商务邮箱: AIcloud_Business@corp.youdao.com

如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

客服QQ:1906538062

智云语音技术交流QQ群:861723255

联系邮箱: zhiyun@corp.youdao.com

温馨提示:

本文档主要针对开发人员,接入测试前需要在后台创建 Android 应用,并绑定服务;如果您还没有,请按照 新手指南 操作。
平台向每个账户赠送50元的体验金,供用户集成前测试所用,具体资费规则详见 作文批改服务报价

功能介绍

作文批改安卓sdk 是有道智云开放平台提供的云服务之一,是有道作文批改接口的一种实现,支持中英,图片和文本两种模式。

共有中英图文类型4个接口。

图像类型:

图像数据 => 转换成Base64编码 => 网络请求 => 返回结果

文本类型:

文本数据 => 网络请求 => 返回结果

兼容性

支持设备:运行了 Android 9及以上系统的 Android 设备

作文批改SDK集成指南

集成前提

开始集成SDK之前开发者需要登录 有道智云平台 ,创建应用获取应用ID(或者通过运营人员获取应用ID),以便使用作文批改服务。

注:应用ID即Appkey,需要安卓SDK类型。

Demo运行步骤

根据官网控制台 提示,直接下载SDK,SDK中包含简易可运行的Demo。如下图所示:

image-20230214110323970

lib目录下为作文批改sdk所需的jar包和so文件
android_demo_composition_correction 为作文批改的demo

接入文档和demo运行需要修改位置的Readme.txt

1.使用AndroidStudio 导入项目

image-20230214112907364

2.image-20230214113022996

image-20230214113046510
打开Redame.txt,按步骤修改demo即可

image-20230214113227015

1.修改Appkey和AppSecret

image-20230214113448135

2.build.gradle 修成为自己Appkey所对应的包名

image-20230214113707890

3.修改完成之后,连接设备就可以运行了
image-20230214140822648

集成步骤

SDK包导入

请在工程文件根目录下创建一个名为 lib的子目录(有的话则不需要创建),把和对应jar包、so文件拷贝到lib文件夹下,并将以下代码添加到app的build.gradle中:

android {
    ...
   sourceSets {
        main {
            jniLibs.srcDirs = ['lib']

        }

    }
}
dependencies {
    //base
    implementation files('lib/YoudaoBase_v20230209.jar')
    //认证
    implementation files('lib/online_auth.jar')
    //作文批改
    implementation files('lib/compositioncorrection_v20230209.jar')

    //json解析及网络请求
    implementation  "com.google.code.gson:gson:2.8.5"
    implementation  "com.squareup.okhttp3:okhttp:4.9.3"
}

具体版本号参考智云给的lib包

image-20230210111348816

SDK初始化

使用作文批改SDK,请在程序的Application中调用SDK初始化代码,可以参考demo中MyApplication
注:appKey即应用id 。sdk请使用sdk类型的appkey

   
    //TODO 修改成智云官网申请的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 { //批改作文的回调接口 成功或者失败 
                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,//作文等级
            title = title,//作文标题
            requirement= requirement, //题目要求
        )

返回结果释义详见API文档:中文作文批改—图像

中文文本

CompositionCorrection.correctionChineseText(
            input = CH_TEXT_TEST_DATA, //需要批改文本
            grade = grade,//作文等级
            title = title,//作文标题
            requirement= requirement, //题目要求
            listener= object : CorrectListener {//批改作文的回调接口 成功或者失败 
                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")
                        })
                    }
                }

            }

        )

返回结果释义详见API文档:中文作文批改—文本

英文文本

 CompositionCorrection.correctionEnglishText(
            input = EN_TEXT_TEST_DATA, //需要批改的图片的base64字符串
            grade = grade,//作文等级
            title = title ,//作文标题
            isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查询同义词
            correctVersion = correctVersion, //作文批改版本:基础,高级 
            isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回写作报告(essayReport字段,仅在高级批改时生效)
            listener= object : CorrectListener { //批改作文的回调接口 成功或者失败 
                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")
                        })
                    }
                }

            }
            )

返回结果:英语作文批改(文本输入)

英文图片

CompositionCorrection.correctionEnglishImage(
            input =imageBase64, //需要批改文本
            grade = grade,//作文等级
            title = title ,//作文标题
            isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查询同义词
            correctVersion = correctVersion, //作文批改版本:基础,高级 
            isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回写作报告(essayReport字段,仅在高级批改时生效)
            listener= object : CorrectListener { //批改作文的回调接口 成功或者失败 
                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")
                        })
                    }
                }

            }
        )

返回结果:

英语作文批改(图像识别)

其他

错误码请参考API文档