您的位置:首页 > 移动开发 > Android开发

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;}}这样就完成了文件的上传。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: