如何显示从ML Kit下载的模型的进度

问题描述

我正在使用Google数字墨水进行手写识别。需要一次下载的模型大小为20MB,下载需要一些时间。有什么方法可以使用进度条显示下载进度吗?

我的代码如下:

fun download(context: Context) {
    var modelIdentifier: DigitalInkRecognitionModelIdentifier? = null
    try {
        modelIdentifier =
            DigitalInkRecognitionModelIdentifier.fromLanguageTag(lang)
    } catch (e: MlKitException) {
        // language tag Failed to parse,handle error.
    }

    model = DigitalInkRecognitionModel.builder(modelIdentifier!!).build()

    val remoteModelManager = RemoteModelManager.getInstance()
    remoteModelManager.download(model,DownloadConditions.Builder().build())
        .addOnSuccessListener {
            Log.i("strokeManager","Model downloaded")
            Toast.makeText(context,"Model Downloaded",Toast.LENGTH_SHORT).show()

        }
        .addOnFailureListener { e: Exception ->
            Log.e("strokeManager","Error while downloading a model: $e")
            Toast.makeText(context,"Model Download Failed",Toast.LENGTH_SHORT).show()
        }
}

解决方法

(我的先前答案由于某些原因被“ Bhargav Rao♦”删除了)

对于将来的读者: 目前,下载API并未报告确切的下载进度,例如10%,20%,50%... 如果我们对它有更多的兴趣,我们会考虑添加这样的支持。

顺便说一句,这是在ML Kit github存储库中问的相同问题:https://github.com/googlesamples/mlkit/issues/165

最好

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...