刚做了个人中心的上传头像功能,就来总结一下做的过程。一开始就直接去github上找一个第三方框架接入,省点事,先是听了朋友的推荐去看了一下bilibili开源的一款Boxing的框架,但是使用起来发现不太符合我的需求。最后还是使用TakePhoto这个,使用起来十分好用。
一、Boxing
https://github.com/Bilibili/boxing
bilibili的开源框架?
赶忙下来用一用,首先看一下它的simple使用流程。
(不得不吐槽一下,这个项目github下的介绍文档写的有点不知所云,让一个没接触过这框架的人去读根本获取不到什么信息,还是老老实实下的demo自己去研究,而且demo里面不只是简简单单的demo,还加了Behavior之类与功能无关的代码,十分影响阅读)
1、配置
build.grade中加入:
compile 'com.bilibili:boxing:1.0.1'
compile 'com.bilibili:boxing-impl:1.0.1'
AndroidManifest.xml文件里还需要加入这段:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.file.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/boxing_file_provider"/>
</provider>
2、初始化
IBoxingMediaLoader loader = new BoxingGlideLoader();
BoxingMediaLoader.getInstance().init(loader);
BoxingCrop.getInstance().init(new BoxingUcrop());//如果你需要裁剪功能的话。
贴上这段代码发现这是需要自己实现的类。。。需要注意的是!!!Boxing只是支持裁剪,也就是说它留了裁剪的接口,但是需要你自己去裁剪,官方demo中使用的是ucrop:
compile('com.yalantis:ucrop:2.2.0')
BoxingGlideLoader:
public class BoxingGlideLoader implements IBoxingMediaLoader {