我们在上一章回中介绍了"wechat_camera_picker简介"相关的内容,本章回中将介绍 wechat系列picker使用总结.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在前面章回中介绍了如何获取图片和视频文件,这个功能是通过两个三方包实现的,它们分别是wechat_assets_picker
和wechat_camera_picker
,我们将在本章回中对这两个包的用法做一些总结,同时也会和ImagePicker这个具有类似功能的包做一些对比。
2. 功能与方法
2.1 主要功能
这两个包提供的功能主要如下:
- 从相册获取单个或者多个图片与视频;
- 从相机获取单个图片或者视频;
- 从相册或者文件系统获取多个图片和视频,这里指混合获取;
这些功能主要对应包中提供的接口,我们在这里不一一列出,大家可以参考前面章回中的内容。在获取图片时可以通过接口的参数修改选择器的界面,在获取视频时可以指定视频的录制时长,分辨率等参数,这里主要指通过相机获取视频,这些功能没有单独的接口,而且是通过接口的参数来设定。包中把接口的参数抽象成了独立的类型,我们需要给类的参数赋值就可以,使用十分方便。
2.2 使用方法
我们在这里只介绍整体的使用思路,不包含具体的使用细节;
- 选取某个接口来获取图片或者视频;
- 在接口中指定图片或者视频相关参数;
- 在接口的返回值中获取图片或者视频;
注意一下:包中所有的接口都是异步接口,我们需要在处理异步相关的内容以及接口返回的错误。
3. 内容总结
最后,我们总结一下该包的优缺点,这样有助于大家判断是否使用该包。该包整体的优点如下:
- 在Android系统上需要申请文件读写相关的权限,IOS也需要处理相关的权限;
- 每个包各自提供一个接口,使用方便,而且是异步接口,便于处理接口返回的结果和错误;
- 两个包中把所有接口返回的结果抽象成统一的AssetEntity类型,使用比较方便;
- 包中提供的功能强大,跨越文件管理,相册和相机三大模块;
- 包中操作的界面和微信相同,符合国人使用习惯,这也是包中带有wechat的原因;
- 包中还提供了独立的图片Provide类型,可以直接赋值给Image组件使用;
使用一段时间后,我发现这两个包没有特别明显的缺点。我们把它和ImagePicker包做一个对比,方便大家在选择使用哪个包时参考:主要如下:
- 这两个包中提供的界面是微信风格的,与ImagePicker中的界面风格差异比较大;
- 这两个包中提供的接口只有两个,比ImagePicker中的接口少,但是功能几乎相同;
- 这两个包中获取到的视频和图片文件路径是文件的绝对路径,而ImagePicker包中获取到是虚拟路径;
- 这两个包在显示图片文件时比ImagePicker方便,但是显示视频文件时仍然需要借助VideoPlayer包,这点和ImagePicker包相同;
关于这两个包的用法就介绍这些,它们提供了统一的接口,使用简单,而且Picker界面和微信相同。不过提供的代码示例只是获取图片和视频,没有显示图片和视频,这需要我们自己去探索。我们在这里只介绍了这两个包最基本的用法,包中还有其它高级的自定义功能需要大家去挖掘。
看官们,与"wechat系列picker使用总结"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!