Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android FireBaseMleException:未找到转换模型文件_Android_Firebase_Firebase Mlkit - Fatal编程技术网

Android FireBaseMleException:未找到转换模型文件

Android FireBaseMleException:未找到转换模型文件,android,firebase,firebase-mlkit,Android,Firebase,Firebase Mlkit,我正在尝试用Firebase ML翻译文本。我已经在stackoverflow上搜索了上述错误,但解决方案不起作用。没有合适的东西,我可以试试! 代码: 导入android.os.Bundle; 导入androidx.annotation.NonNull; 导入androidx.appcompat.app.appcompat活动; 导入com.google.android.gms.tasks.OnFailureListener; 导入com.google.android.gms.tasks.On

我正在尝试用Firebase ML翻译文本。我已经在stackoverflow上搜索了上述错误,但解决方案不起作用。没有合适的东西,我可以试试! 代码:

导入android.os.Bundle;
导入androidx.annotation.NonNull;
导入androidx.appcompat.app.appcompat活动;
导入com.google.android.gms.tasks.OnFailureListener;
导入com.google.android.gms.tasks.OnSuccessListener;
导入com.google.firebase.ml.common.modeldownload.FirebaseModelDownloadConditions;
导入com.google.firebase.ml.naturallanguage.firebasenaturalanguage;
导入com.google.firebase.ml.naturallanguage.translate.firebase translatelanguage;
导入com.google.firebase.ml.naturallanguage.translate.FirebaseTranslator;
导入com.google.firebase.ml.naturallanguage.translate.firebasetranlatoroptions;
导入com.jimmytrivedi.learning.translateapp.utils.Logger;
公共类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SetupFireBaseTransateAPI();
}
私有无效设置FireBaseTransateAPI(){
//创建英语-德语翻译:
FirebaseTranslatorOptions选项=
新的FirebaseTranslatorOptions.Builder()
.setSourceLanguage(FirebaseTranslateLanguage.EN)
.setTargetLanguage(FirebaseTranslateLanguage.HI)
.build();
最终FirebaseTranslator英国通用翻译公司=
FirebaseNaturalLanguage.getInstance().getTranslator(选项);
设置FirebaseModelDownloadConditions(英语GermanTranslator);
}
私有void setFirebaseModelDownloadConditions(FirebaseTranslator englishGermanTranslator){
FirebaseModelDownloadConditions=新的FirebaseModelDownloadConditions.Builder()
.build();
englishGermanTranslator.下载模型(如果需要)(条件)
.addOnSuccessListener(
新OnSuccessListener(){
@凌驾
成功时公开作废(作废v){
//已成功下载模型。可以开始翻译。
//(设置标志、取消隐藏翻译界面等)
记录者d(“成功”);
}
})
.addOnFailureListener(
新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
//无法下载模型或出现其他内部错误。
// ...
记录器.d(“失败”);
}
});
}
}
错误:

com.google.firebase.ml.common.FirebaseMLException:未找到翻译模型文件。确保调用downloadModelIfNeeded,如果失败,请删除模型并重试

参考:

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.ml.common.modeldownload.FirebaseModelDownloadConditions;
import com.google.firebase.ml.naturallanguage.FirebaseNaturalLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslateLanguage;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslator;
import com.google.firebase.ml.naturallanguage.translate.FirebaseTranslatorOptions;
import com.jimmytrivedi.learning.translateapp.utils.Logger;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setUpFirebaseTranslateAPI();
    }

    private void setUpFirebaseTranslateAPI() {
        // Create an English-German translator:
        FirebaseTranslatorOptions options =
                new FirebaseTranslatorOptions.Builder()
                        .setSourceLanguage(FirebaseTranslateLanguage.EN)
                        .setTargetLanguage(FirebaseTranslateLanguage.HI)
                        .build();
        final FirebaseTranslator englishGermanTranslator =
                FirebaseNaturalLanguage.getInstance().getTranslator(options);

        setFirebaseModelDownloadConditions(englishGermanTranslator);
    }

    private void setFirebaseModelDownloadConditions(FirebaseTranslator englishGermanTranslator) {
        FirebaseModelDownloadConditions conditions = new FirebaseModelDownloadConditions.Builder()
                .build();
        englishGermanTranslator.downloadModelIfNeeded(conditions)
                .addOnSuccessListener(
                        new OnSuccessListener<Void>() {
                            @Override
                            public void onSuccess(Void v) {
                                // Model downloaded successfully. Okay to start translating.
                                // (Set a flag, unhide the translation UI, etc.)
                                Logger.d("success");
                            }
                        })
                .addOnFailureListener(
                        new OnFailureListener() {
                            @Override
                            public void onFailure(@NonNull Exception e) {
                                // Model couldn’t be downloaded or other internal error.
                                // ...
                                Logger.d("failed");
                            }
                        });
    }


}