xutils3文件上传、下载、get、post请求
@ContentView(R.layout.activity_xutils3_net)
public class XUtils3NetActivity extends Activity {
@ViewInject(R.id.tv_result)
private TextView textView;
@ViewInject(R.id.progressbar)
private ProgressBar progressbar;
@ViewInject(R.id.tv_title)
private TextView title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_xutils3_net);
x.view().inject(this);
title.setText("xUtils3的网络模块");
}
@Event(value = {R.id.btn_get_post,R.id.btn_downloadfile,R.id.btn_uploadfile})
private void getEvent(View view){
switch (view.getId()){
case R.id.btn_get_post:
getAndPostNet();
// Toast.makeText(XUtils3NetActivity.this, "Get和Post请求", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_downloadfile:
downloadFile();
// Toast.makeText(XUtils3NetActivity.this, "文件下载", Toast.LENGTH_SHORT).show();
break;
case R.id.btn_uploadfile:
uploadFile();
// Toast.makeText(XUtils3NetActivity.this, "文件上传", Toast.LENGTH_SHORT).show();
break;
}
}
/**
* 文件上传
*/
private void uploadFile() {
RequestParams params = new RequestParams("http://192.168.1.16:8080/FileUpload/FileUploadServlet");
//以表单方式上传
params.setMultipart(true);
//设置上传文件的路径
params.addBodyParameter("File",new File(Environment.getExternalStorageDirectory()+"/atguigu/480.mp4"),null,"oppo.mp4");
x.http().post(params, new Callback.ProgressCallback<File>() {
/**
* 当下载成功的时候回调这个方法,并且把下载到哪个路径回传过来
* @param file
*/
@Override
public void onSuccess(File file) {
Log.e("TAG", "onSuccess==" + file.toString());
Toast.makeText(XUtils3NetActivity.this, "onSuccess==" + file.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
Log.e("TAG", "onError==" + ex.getMessage());
}
@Override
public void onCancelled(CancelledException cex) {
Log.e("TAG", "onCancelled==" + cex.getMessage());
}
@Override
public void onFinished() {
Log.e("TAG", "onFinished==");
}
@Override
public void onWaiting() {
Log.e("TAG", "onWaiting==");
}
@Override
public void onStarted() {
Log.e("TAG", "onStarted==");
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
progressbar.setMax((int) total);
progressbar.setProgress((int) current);
Log.e("TAG", "onLoading==" + current + "/" + total + ",isDownloading==" + isDownloading);
}
});
}
private void downloadFile() {
RequestParams params = new RequestParams("http://vfx.mtime.cn/Video/2016/09/15/mp4/160915092608935956_480.mp4");
//设置保存数据
params.setSaveFilePath(Environment.getExternalStorageDirectory() + "/atguigu/480.mp4");
//设置是否可以立即取消下载
params.setCancelFast(true);
//设置是否自动根据头信息命名
params.setAutoRename(false);
//设置断点续传
params.setAutoResume(true);
params.setExecutor(new PriorityExecutor(3, true));//自定义线程池,有效的值范围[1, 3], 设置为3时, 可能阻塞图片加载.
x.http().get(params, new Callback.ProgressCallback<File>() {
/**
* 当下载成功的时候回调这个方法,并且把下载到哪个路径回传过来
* @param file
*/
@Override
public void onSuccess(File file) {
Log.e("TAG","onSuccess=="+file.toString());
Toast.makeText(XUtils3NetActivity.this, "onSuccess=="+file.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
Log.e("TAG","onError=="+ex.getMessage());
}
@Override
public void onCancelled(CancelledException cex) {
Log.e("TAG","onCancelled=="+cex.getMessage());
}
@Override
public void onFinished() {
Log.e("TAG","onFinished==");
}
@Override
public void onWaiting() {
Log.e("TAG","onWaiting==");
}
@Override
public void onStarted() {
Log.e("TAG","onStarted==");
}
@Override
public void onLoading(long total, long current, boolean isDownloading) {
progressbar.setMax((int) total);
progressbar.setProgress((int) current);
Log.e("TAG", "onLoading=="+current+"/"+total+",isDownloading=="+isDownloading);
}
});
}
private void getAndPostNet() {
//1.Get请求
//2.Post请求
RequestParams params = new RequestParams("http://api.m.mtime.cn/PageSubArea/TrailerList.api");
x.http().post(params, new Callback.CommonCallback<String>() {
@Override
public void onSuccess(String result) {
Log.e("TAG", "xUtis3联网请求成功==" + result);
// textView.setText("Get请求的结果——————" + result);
textView.setText("Post请求的结果——————" + result);
}
@Override
public void onError(Throwable ex, boolean isOnCallback) {
Log.e("TAG", "xUtis3联网请求失败==" + ex.getMessage());
textView.setText("xUtis3联网请求失败==" + ex.getMessage());
}
@Override
public void onCancelled(CancelledException cex) {
Log.e("TAG", "onCancelled==" + cex.getMessage());
}
@Override
public void onFinished() {
Log.e("TAG","onFinished==");
}
});
}
}
xutils3文件上传、下载、get、post请求的更多相关文章
- Android okHttp网络请求之文件上传下载
前言: 前面介绍了基于okHttp的get.post基本使用(http://www.cnblogs.com/whoislcj/p/5526431.html),今天来实现一下基于okHttp的文件上传. ...
- SpringMVC文件上传下载
在Spring MVC的基础框架搭建起来后,我们测试了spring mvc中的返回值类型,如果你还没有搭建好springmvc的架构请参考博文->http://www.cnblogs.com/q ...
- Retrofit2文件上传下载及其进度显示
序 前面一篇文章介绍了Retrofit2的基本使用,这篇文章接着介绍使用Retrofit2实现文件上传和文件下载,以及上传下载过程中如何实现进度的显示. 文件上传 定义接口 1 2 3 @Multip ...
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
- JAVA Web 之 struts2文件上传下载演示(一)(转)
JAVA Web 之 struts2文件上传下载演示(一) 一.文件上传演示 1.需要的jar包 大多数的jar包都是struts里面的,大家把jar包直接复制到WebContent/WEB-INF/ ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- HttpClient文件上传下载
1 HTTP HTTP 协议可能是如今 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序须要直接通过 HTTP 协议来訪问网络资源. 尽管在 JDK 的 java.net ...
- .Net Core 图片文件上传下载
当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. ...
- nodejs+express-实现文件上传下载管理的网站
Nodejs+Express-实现文件上传下载管理的网站 项目Github地址(对你有帮助记得给星哟):https://github.com/qcer/updo 后端:基于nodejs的express ...
随机推荐
- Oracle11g登陆sqlplus时一直提示密码错误
我安装oracle的时候有自己设置帐号和密码,我也在服务里的oracleserver中查看了正在运行的用户名,是我注册时填的那个并已开启.但是为什么登陆Sqlplus老是说密码错误呢?我敢肯定密码没有 ...
- Linux shell快捷键
Ctrl + a 可以快速切换到命令行开始处Ctrl + e 切换到命令行末尾Ctrl + r 在历史命令中查找 ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ ct ...
- 跟踪运行时错误 vue
如果在组件渲染时出现运行错误,错误将会被传递至全局 Vue.config.errorHandler 配置函数 (如果已设置).利用这个钩子函数来配合错误跟踪服务是个不错的主意.比如 Sentry,它为 ...
- 【转】纯干货:PS高手完全自学宝典(原创文章)
文章版权:Tommy子言 原创 一. 一切从基础开始 强大的PS虽然功能众多,但归纳起来主要有三大功能: 修图——主要包括纯图片的修饰.合成.3D合成等等: 画图——主要是指用PS来绘画.广告插画, ...
- IOS与安卓的远程调试
本地调试H5页面方案总结 http://www.jianshu.com/p/a43417b28280 Fiddler 手机抓包 http://blog.csdn.net/gld824125233/ar ...
- CentOS 下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常 的方便,在Linux上如果要安装数据库, ...
- UVALive - 4255 - Guess (拓扑排序)
Guess 题目传送:Guess 白书例题 注意拓扑排序时,,入度同一时候为0的前缀和须要赋值为同一个数(这个数能够随机取.由于前缀和是累加的,每个a的数值都仅仅和前缀和之差有关).,由于此时能够看成 ...
- linux无线网络配置_转
转自:http://www.cnblogs.com/dartagnan/archive/2010/12/05/2003521.html 一位资生linux 原文:http://www.hpl.hp ...
- HTTP响应头缓存控制
在一般Web开发中,有时需要设置特殊的HTTP响应头阻止客户端(一般是浏览器)缓存(使用)该次请求的响应. 这时候大部分开发人员都是百度或谷歌几段代码复制粘贴即了事. 以下简述一下关于缓存控制的几种H ...
- go的url解析
对于解析url,是一个常见的场景,下面就来说这个,直接见代码: package main import ( "fmt" "net/url" "stri ...