Чтобы использовать Google Translation API
в проекте Android Studio, сначала добавьте в AndroidManifest.xml
разрешение на доступ к Интернету.Потому что вы собираетесь использовать Интернет для перевода.
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
</application>
</manifest>
Добавьте некоторые зависимости в build.gradle
.Я столкнулся с некоторыми незначительными проблемами в файле Gradle, поэтому мне пришлось добавить еще несколько вещей, чтобы исправить их, конечный результат должен выглядеть примерно так:
android {
...
defaultConfig {
...
multiDexEnabled true
}
packagingOptions {
exclude 'META-INF/INDEX.LIST'
}
}
dependencies {
...
compile 'com.google.cloud:google-cloud-translate:1.59.0'
implementation 'com.android.support:multidex:1.0.3'
}
В MainActivity
, в onCreate(...)
класс после setContentView(...)
добавить:
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
Это исправит ошибку:
... Причина: android.os.NetworkOnMainThreadException ...
Наконец, убедитесь, что у вас:
- Включено
Translation API
в вашем проекте. - Переменная
setLanguage
, используемая в Translate.TranslateOption.targetLanguage(setLanguage)
, имеетправильное значение для целевого языка.
Я проверил этот метод, и он работал для меня.