Android常见问题解决方案
1. 使用Glide加载特殊图像
- 支持加载GIF动画。
- Glide 可以自动加载视频封面,也就是把某个视频文件的首帧画面渲染到图像视图上。
- Glide不仅能加载本地视频的封面,还能加载网络视频的封面。
2. CameraX的使用(谷歌公司在Jetpack库中集成了增强的相机库CameraX,想让相机编码(包括拍照和录像)变得更加方便)
使用相机的具体步骤:
- 准备一个预览视图对象【PreviewView】,并添加至当前界面;
- 获取相机提供器对象【ProcessCameraProvider】
- 构建预览对象【Preview】,指定预览的宽高比例
- 构建摄像头选择器对象【CameraSelector】,指定使用前置摄像头还是后置摄像头;
- 构建图像捕捉器对象【ImageCapture】,分别设置捕捉模式、旋转角度、宽高比例、闪光模式等拍照参数;
- 调用【相机提供器对象的bindToLifecycle】方法,把相机选择器、预览视图、图像捕捉器绑定到相机提供器;
- 调用预览视图对象的setSurfaceProvider方法,设置预览视图的表面提供器;
CameraX 也可以录像。
3. 使用HMS 扫描二维码
HMS Core: 华为移动服务提供的端、云开放能力的合集,包含华为账号、应用内支付、推送服务、游戏服务、定位服务、地图服务、广告服务和机器学习服务等。
致力于帮助开发者实现应用高效开发、快速增长、商业变现。
扫描二维码是HMS的一项基础服务,虽然谷歌公司也提供了zxing扫码框架,但是不够简洁。
4. 利用TBS浏览各种文档
利用TBS浏览各种文档(全称Tencent Browser Service,即腾讯浏览服务)
App能够直接打开下列文件格式:doc、docx、ppt、pptx、xls、xlsx、pdf、txt、epub,可谓中小开发者的一大福音。
tips
tips-1,图像解码器ImageDecoder,支持WebP与HEIF
早期的安卓,只支持JPEG、PNG和GIF格式的图片。
现在流行:WebP与HEIF,Android9以后开始便支持浏览这两种格式的图片。
ImageDecoder正是Android9推出的新型图像解码器,它不但兼容常规的JPEG和PNG图片,还适配GIF、WebP、HEIF的动图效果。
利用图像解码器加载并显示图片的步骤分为以下三步:
1、调用ImageDecoder的createSource方法,从指定地方获得数据源;
2、调用ImageDecoder的decodeDrawable方法,从数据源解码得到Drawable类型的图形信息;
3、调用图像视图的setImageDrawable,设置图像视图的图形对象;
其中createSource方法允许从多处来源读取图像信息:
1、来自存储卡的File对象;
2、来自系统相册的Uri对象;
3、来自资源图片的图形编号;
4、从输入流获取的字节数组;
tips-2, WebView与JavaScript交互的四种形式
1. App通知Web执行某项动作
2. App主动从Web获取信息
3. Web通知App执行某项动作
4. Web主动从App获取信息