package com.example.speakplease;
import android.os.AsyncTask;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.google.cloud.translate.Translate;
import com.google.cloud.translate.TranslateOptions;
import com.google.cloud.translate.Translation;
public class SplashActivity extends AppCompatActivity {
public static final String API_KEY = "xyz";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
final TextView textView = (TextView) findViewById(R.id.textView);
final Handler textViewHandler = new Handler();
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
TranslateOptions options = TranslateOptions.newBuilder().setApiKey(API_KEY).build();
Translate translate = options.getService();
final Translation translation = translate.translate("Hello World", Translate.TranslateOption.targetLanguage("de"));
textViewHandler.post(new Runnable() {
@Override
public void run() {
if (textView != null) {
textView.setText(translation.getTranslatedText());
}
}
});
return null;
}
}.execute();
}
}
我正在使用Google Translation API将一种语言的文本转换为另一种语言。在我的应用程序中,我希望用户使用内置麦克风以他/她的母语讲话,并将其转换为书面文本,然后将其存储到ArrayList中。现在我想调用一个函数,该函数将ArrayList中的文本作为参数发送给该函数,该函数将返回翻译后的文本。我尝试的上述代码正在工作,而这只是检查我的设置是否正常工作。但是我无法使用函数调用来实现。