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

kur*_*uro 1 android-progressbar android-studio google-mlkit

我正在使用谷歌数字墨水进行手写识别。需要下载一次的模型大小为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()
        }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

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

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