Ale*_*xey 23 base64 android kotlin
在我的Android应用中
的build.gradle
android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 16
targetSdkVersion 27
...
}
....
}
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
显然,当在API 24之前使用Base64变体时,我遇到了编译错误.
但是我怎样才能支持所有的API级别并像以前一样使用Base64,之后呢?
Abh*_*ngh 67
使用android.util.Base64将解决您从API 8可用的问题
data = android.util.Base64.decode(str, android.util.Base64.DEFAULT);
Run Code Online (Sandbox Code Playgroud)
nor*_*DEV 14
fun String.toBase64(): String {
return String(
android.util.Base64.encode(this.toByteArray(), android.util.Base64.DEFAULT),
StandardCharsets.UTF_8
)
}
fun String.fromBase64(): String {
return String(
android.util.Base64.decode(this, android.util.Base64.DEFAULT),
StandardCharsets.UTF_8
)
}
Run Code Online (Sandbox Code Playgroud)
您应该使用android.util.Base64类。它由 API 8 支持,
Base64.getDecoder() 函数是 java.util.Base64 的一部分,是 Java8 中的新函数。
| 归档时间: |
|
| 查看次数: |
12293 次 |
| 最近记录: |