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 функции в качестве аргумента, и функция вернет переведенный текст. Вышеупомянутый код работает, и он просто проверяет, правильно ли работает моя установка. Но я не могу реализовать с помощью вызова функций.