Dans mon Android
build.gradle
Android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
...
}
....
}
code Kotlin
val data = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Base64.getDecoder().decode(str)
} else {
Base64.decode(str, Base64.DEFAULT) // Unresolved reference: decode
}
Évidemment, j'ai eu une erreur de compilation lors de l'utilisation de la variante Base64 avant l'API 24.
Mais comment puis-je prendre en charge tous les niveaux d'API et utiliser Base64 comme avant 24, comme après?
Utilisation Android.util.Base64
résoudra votre problème, il est disponible à partir de l'API 8
data = Android.util.Base64.decode(str, Android.util.Base64.DEFAULT);
Exemple d'utilisation:
Log.i(TAG, "data: " + new String(data));
Vous devez utiliser la classe Android.util.Base64. Il est pris en charge par l'API 8,
La fonction Base64.getDecoder () fait partie de Java.util.Base64 et est nouvelle dans Java8.