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

How to show progress of Model downloaded from 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()
        }
}

此时,下载API不报告确切的下载进度,例如10%、20%、50%…… 如果我们看到更多人对此感兴趣,我们会考虑添加这样的支持。

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