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 ...
随机推荐
- react-native 启动页(react-native-splash-screen)
用于解决iOS和Android启动白屏问题及简单的启动页面展示 下载 react-native-splash-screen yarn add react-native-splash-screen re ...
- 控制器View是怎样创建的?
对于非常多程序猿来说控制器和View的关系肯定有点模糊,对于View的创建肯定有一种说不清道不明的感觉.view仅仅是控制器的一个属性.控制器中有很多对view处理的方法.也就是说得控制器管理view ...
- C# 指南之装箱与拆箱
基础 1.值类型 1.1 在栈上分配内存,在声明时初始化才能使用,不能为null. 1.2 值类型超出作用范围系统自动释放内存. 1.3 主要由两类组成:结构,枚举 结构分为以下几类 1.整形(Sby ...
- PHP array_walk() 函数
定义和用法 array_walk() 函数对数组中的每个元素应用用户自定义函数.在函数中,数组的键名和键值是参数. <?php function myfunction($value,$key,$ ...
- 【POJ 2400】 Supervisor, Supervisee(KM求最小权匹配)
[POJ 2400] Supervisor, Supervisee(KM求最小权匹配) Supervisor, Supervisee Time Limit: 1000MS Memory Limit ...
- stage3D基础二-----顶点和片段着色器(转)
来源:http://www.adobe.com/cn/devnet/flashplayer/articles/vertex-fragment-shaders.html 本教程将介绍着色器.着色器是 S ...
- instagram架构分析_转
转自:http://www.eit.name/blog/read.php?504 Instagram 团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPhone 上最火爆的图片类工具,in ...
- 【Github】之突然访问不了Github地址
访问Github突然上不去了 解决办法: 一.修改hosts 1.打开Dns检测|Dns查询 - 站长工具2.在检测输入栏中输入http://github.com官网3.把检测列表里的TTL值最小的I ...
- java高级之信号灯Semaphore
1.Semaphore概念 Semaphore是Java1.5之后提供的一种同步工具,Semaphore可以维护访问自身线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数 ...
- 文本信息检索——布尔模型和TF-IDF模型
文本信息检索--布尔模型和TF-IDF模型 1. 布尔模型 如要检索"布尔检索"或"概率检索"但不包括"向量检索"方面的文档,其相应的查 ...