安卓 ImageView 的使用及崩溃闪退、空白原因

作者:vkvi 来源:千一网络(原创) 日期:2017-12-16

安卓中 ImageView 可不像其他平台中的 Image 标签那么好用。

setImageURI

通过 setImageURI,似乎还是挺轻松的,虽然需要 Uri.parse 啰嗦一下,但是似乎还是在一行就写完了。

然而,当你的 ImageView 太多时,比如我就只有 6 个 ImageView,选择了 6 张照片,立马崩溃

以前开发 VC++ 的时候,写个文件选择框都要费半天时间,而这次安卓也犯了类似错误,让开发人员花太多的精力在非业务代码上,浪费精力。

这样解决

其中的 FileHelper.UriToFilePath 代码在这里:

其中的 ImageHelper.getFitSampleBitmap 代码在这里:

然后,你会发现,在安卓 6.0 手机上,ImageView 加载图片后可能是白板

调试发现出现如下错误:

Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/...: open failed: EACCES (Permission denied)

原来在安卓 6.0 中光在 AndroidManifest.xml 中写如下权限还不够

还需要在读取文件的地方加上:

这样在第一步执行这里的时候,会弹出对话框,要求授权。

说明:如果是使用 setImageURI 是不需要加这个授权的。

相关阅读

你前面那位网友看了:不用 float 让 div 居右

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他