问题描述
我正在使用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
最好