android - 如何以编程方式检查图像(PNG、JPEG)在 android 中是否损坏或不受支持?
问题描述
我正在尝试在 imageview 中加载图像,但是对于某些图像,当我尝试从图像路径获取位图时,我的应用程序崩溃了。
这是我的代码:
public Bitmap getBitmap(String imagePath){
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
return bitmap;
}
日志:
Process: kgs.com.librarytest2, PID: 17587
java.lang.NoClassDefFoundError: Failed resolution of:
Ljavax/imageio/ImageIO;
at it.lamba.utils.KImageCheck.analyzeImage(KImageCheck.kt:26)
at it.lamba.utils.KImageCheck.getImageData(KImageCheck.kt:53)
at com.kitegamesstudio.kgspicker.ui.PickerFragment.handleSelection(PickerFragment.kt:524)at com.kitegamesstudio.kgspicker.ui.PickerFragment$getPagerAdapter$selectionDe legate$1.onItemSelected(PickerFragment.kt:494) at com.kitegamesstudio.kgspicker.ui.PagerFragment$selectionDelegate$1.onItemS lected(PagerFragment.kt:35) at com.kitegamesstudio.kgspicker.ui.RecyclerViewAdapter$ImageItemVieHolder$bi d$$inlined$with$lambda$1.onClick(RecyclerViewAdapter.kt:125) at android.view.View.performClick(View.java:6392)
解决方案
请注意,您的代码(一种getBitmap()
方法)与您的堆栈跟踪无关,它不引用此方法。
您似乎正在使用这个库。它专为在桌面或服务器上与 Java SE 一起使用而设计。它正在使用javax.imageio.ImageIO
,它不是 Android SDK 的一部分。您需要从项目中删除此库。
推荐阅读
- c# - 将 IN 子句中的多个数字作为参数传递给 Oracle 查询时出现无效数字异常
- angular - gulp 错误:错误:找不到模块'@microsoft/sp-build-web'
- python - 如何选择 QTableWidget 的多个单元格?
- html - 为什么我的
出现在同一行的段落?
- python - python发生异常错误时播放声音
- javascript - TypeScript:为样式化的组件元素扩展 React 组件道具
- javascript - 为什么异步等待返回的承诺对象不是我自己的价值?
- r - 省略所选变量之间的空格
- php - SQL全文匹配反对返回一些空结果
- javascript - 单击图像 3 秒后触发功能