使用Android studio 将从SQLite数据库获取到的图片路径转换为Bitmap显示在ImageView中报错:java.lang.IllegalArgumentException: bad base-64。求大佬指导!
报错如下:
W/System.err: java.lang.IllegalArgumentException: bad base-64
at android.util.Base64.decode(Base64.java:163)
at android.util.Base64.decode(Base64.java:138)
at android.util.Base64.decode(Base64.java:120)
at com.demo2.android.activity.InfoSheet.initInfo(InfoSheet.kt:69)
at com.demo2.android.activity.InfoSheet.onCreate(InfoSheet.kt:42)
at android.app.Activity.performCreate(Activity.java:8397)
at android.app.Activity.performCreate(Activity.java:8370)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1403)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3842)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4011)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:111)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2466)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:240)
at android.os.Looper.loop(Looper.java:351)
at android.app.ActivityThread.main(ActivityThread.java:8364)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
相关代码如下:
val pic = cursor.getString(cursor.getColumnIndexOrThrow("plantPicture"))
val name = cursor.getString(cursor.getColumnIndexOrThrow("plantName"))
val person = cursor.getString(cursor.getColumnIndexOrThrow("takePhotoPerson"))
val time = cursor.getString(cursor.getColumnIndexOrThrow("takePhotoDate")) + " " + cursor.getString(cursor.getColumnIndexOrThrow("takePhotoTime"))
val add = cursor.getString(cursor.getColumnIndexOrThrow("takePhotoJW"))
//将照片显示出来
var bitmap: Bitmap? = null
try {
val bitmapArray: ByteArray = Base64.decode(pic, Base64.DEFAULT)
val oriBitmap = BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.size)
bitmap = ResizeBitmap.resizeImage(oriBitmap, 100, 100)
} catch (e: Exception) {
e.printStackTrace()
}
# 代码中pic为:/storage/emulated/0/Download/Browser/8057389_8057389_1308493783296_mthumb.jpg