私のAndroid app
build.gradle
Android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
...
}
....
}
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
}
API 24より前のBase64バリアントを使用すると、明らかにコンパイルエラーが発生しました。
しかし、どのようにしてすべてのAPIレベルをサポートし、24以前のようにBase64を使用できますか?
つかいます - 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で新しく追加されました。