Android使用xUtils3上传文件
2016-02-11 15:50
435 查看
xUtils3使用HttpUrlConnection来发送http请求,可以实现最大2G的大文件上传。1.首先还是在application中初始化:x.Ext.init(this);2.然后使用org.xutils.http包下的RequestParams来构造参数。params = new RequestParams(url);
params.addBodyParameter("upload", new File(fileName));3.使用Callback.Cancekable来进行请求回调:Callback.Cancelable cancelable= x.http().post(params, new Callback.CommonCallback<ResponseEntity>() {@Overridepublic void onSuccess(ResponseEntity result) {Snackbar.make(view, "上传成功", Snackbar.LENGTH_LONG).setAction("Action", null).show();}@Overridepublic void onError(Throwable ex, boolean isOnCallback) {Snackbar.make(view, "上传失败", Snackbar.LENGTH_LONG).setAction("Action", null).show();}}); 其中ResponseEntity为构造的实体对象。代码如下:@HttpResponse(parser = ResultParser.class)public class ResponseEntity {private String result;public String getResult() {return result;}public void setResult(String result) {this.result = result;}}类名上的注解用来解析返回值,便于隐藏解析细节。会自动调用ResponseParser来解析服务器的返回值ResultParser类:public class ResultParser implements ResponseParser {@Overridepublic void checkResponse(UriRequest request) throws Throwable {}@Overridepublic Object parse(Type resultType, Class<?> resultClass, String result) throws Throwable {ResponseEntity responseEntity = new ResponseEntity();responseEntity.setResult(result);//返回ResponseEntity对象 return responseEntity;}}这样就完成了文件的上传。
相关文章推荐
- android:第二个anroid项目 电话拨号器
- Android Window 9问9答
- Android之-异步消息处理机制
- Android保证首次获取到的location对象不为空的解决方案
- Android之图片加载库Picasso源码分析
- Android之Context详解
- Android应用安全开发之防范无意识的数据泄露
- android——error opening trace file: No such file or directory (2)
- 【Android】7.6 FrameLayout(帧布局)
- 【Android】7.5 RelativeLayout(相对布局)
- Android 的性能 II-性能提升技巧
- 【Android】7.4TableLayout(表格布局)
- Android短信大全案例
- Android Studio—— 关于在Android Studio中使用Assets目录下的资源的问题
- Android——内存调试
- android 之 ListView 里面嵌套 GridView 遇到的问题及其解决方法。
- Android学习笔记二
- android 文件上传
- 说说Android的MVP模式
- ADB问题解决(Android Debug Bridge)