Ответ 1
Использование android.util.Base64
решит вашу проблему с помощью API 8
data = android.util.Base64.decode(str, android.util.Base64.DEFAULT);
Пример использования:
Log.i(TAG, "data: " + new String(data));
В моем приложении для Android
build.gradle
android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
...
}
....
}
Код Котлина
val data = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Base64.getDecoder().decode(str)
} else {
Base64.decode(str, Base64.DEFAULT) // Unresolved reference: decode
}
Очевидно, что я получил ошибку компиляции при использовании Base64 до API 24.
Но как я могу поддерживать все уровни API и использовать Base64 до 24, как после?
Использование android.util.Base64
решит вашу проблему с помощью API 8
data = android.util.Base64.decode(str, android.util.Base64.DEFAULT);
Пример использования:
Log.i(TAG, "data: " + new String(data));
Вы должны использовать класс android.util.Base64. Он поддерживается API 8,
Функция Base64.getDecoder() является частью java.util.Base64 и новой в Java8.