Android使用开源项目Xutils实现多线程下载文件
#1.下载utils项目
https://github.com/wyouflf/xUtils
#2布局文件里实现UI
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity" ><EditTextandroid:id="@+id/tv_path"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="http://down.360safe.com/inst.exe" /><Buttonandroid:layout_marginTop="10dip"android:layout_width="match_parent"android:onClick="download"android:layout_height="wrap_content"android:text="下载"/><TextViewandroid:id="@+id/tv_info"android:layout_width="match_parent"android:layout_marginTop="10dip"android:layout_height="wrap_content"android:text="提示信息"/></LinearLayout>
#3.在mainactivity中实现代码功能
package com.wzw.downloaddemo;import java.io.File;import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.HttpHandler;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;public class MainActivity extends Activity {private EditText etPath;private TextView tvInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etPath=(EditText) findViewById(R.id.tv_path);tvInfo=(TextView) findViewById(R.id.tv_info);}public void download(View v){String path =etPath.getText().toString();HttpUtils http = new HttpUtils();http.download(path, "/sdcard/360.exe", true, true, new RequestCallBack<File>() {<span style="white-space:pre"> </span>@Overridepublic void onStart() {tvInfo.setText("正在连接...");}@Overridepublic void onLoading(long total, long current, boolean isUploading) {tvInfo.setText(current + "/" + total);}@Overridepublic void onFailure(HttpException error, String msg) {tvInfo.setText(msg);}@Overridepublic void onSuccess(ResponseInfo<File> responseInfo) {// TODO Auto-generated method stubtvInfo.setText("downloaded:" + responseInfo.result.getPath());}});}}
用Utils的话比用传统的方式要方便的多。
Android使用开源项目Xutils实现多线程下载文件相关推荐
- Android x86开源项目虚拟机镜像下载(VM/Vbox)
Android x86 开源项目可以让我们在虚拟机中直接运行Android系统,这里的x86指的是平台架构非32位版. 如果你曾经查找过VMware 虚拟机安装 Android 的教程,应该了解直接安 ...
- 安卓巴士总结了近百个Android优秀开源项目
安卓巴士总结了近百个Android优秀开源项目 转自:http://sfshine.iteye.com/blog/1724962 Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了 ...
- 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域_拔剑-浆糊的传说_新浪博客...
http://www.apkbus.com/android-17627-1-1.html 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域 bayou 发表于 2011 ...
- Android常见开源项目的原理及使用方法
Android常见开源项目的原理及使用方法 http://www.duobei.com/course/4514662053 [课程目标] 提升Android技术,提升软件设计技能,迈向架构师 [课程 ...
- 2018.11月Android优质开源项目
2019独角兽企业重金招聘Python工程师标准>>> 2018.11月Android优质开源项目 转载于:https://my.oschina.net/coderminer/blo ...
- 【UI学习】Android github开源项目,酷炫自定义控件(View)汇总
[UI学习]Android github开源项目,酷炫自定义控件(View)汇总 转载 2016年09月04日 23:23:15 3484 近期整理的比较酷炫并且我们会经常用到的custom vie ...
- 多线程下载文件实践之旅
目录 1.使用场景 2.多线程下载原理 3.请求如何分段下载 3.1.需要请求的数据如何分段. 3.2.分段下载的数据如何组装成完整的数据文件. 4.关键代码实现 3.成果展现 4.总结 5.参考文章 ...
- python多线程下载文件
看到一篇多线程下载的文章,这里把自己的理解写一篇多线程下载的文章. 我们访问http://192.168.10.7/a.jpg时是get请求,response的head包含Content-Length ...
- java 多线程下载文件并实时计算下载百分比(断点续传)
多线程下载文件 多线程同时下载文件即:在同一时间内通过多个线程对同一个请求地址发起多个请求,将需要下载的数据分割成多个部分,同时下载,每个线程只负责下载其中的一部分,最后将每一个线程下载的部分组装起来 ...
最新文章
- MDK:assert_param函数未定义的错误:Error: L6218E
- django-admin.py创建项目失败解决方法
- faster rcnn学习之rpn 的生成
- .NET RulesEngine(规则引擎)
- SPOJ - SUBLEX 【后缀自动机】
- 【经典算法】希尔算法
- Java多线程-生产者消费者问题(多个消费者多个生产者)
- svn上传文件最大多少_SVN控制上传文件尺寸
- CREO:CREO软件之零件【编辑】之修饰、用户定义特征的简介及其使用方法(图文教程)之详细攻略
- H3CNE、H3CSE认证考试亲身奋斗过程的心得(拿出来晒晒)
- jsp管理系统页面模板_管理后台原型设计分享- 政务管理系统
- python中gm11_python实现灰色预测模型(GM11)——以预测股票收盘价为例
- 用计算机计算2的31次方,2的31次方,用什么方法可以最快算出来呢
- 《炬丰科技-半导体工艺》MOCVD生长同质外延GaN的形态和结构特征
- R语言绘制带误差和可信区间的折线图
- 面试时被问有没有别家offer,回答没有,面试总是挂!回答有,就说我是面试选手,欺骗公司!...
- C语言----文件存储
- 《UNIX网络编程》第一步:编写自己的daytime客户端,并从daytime服务器获取时间
- 28岁想入行软件测试,可行吗?
- 每一款都很能打 苏宁小Biu连发新品布局IoT
热门文章
- gitignore重要技巧
- python写音乐播放器_python 模拟(简易)音乐播放器
- mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...
- 划分字母区间(双指针,贪心)
- mapgis明码文件转为点线面文件_干货|MAPGIS的二十一个实用方法及技巧
- 腾讯云【人脸识别】服务的一次尝试(JAVA)
- mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations配置映射文件时的区别
- Linux网络状态工具ss命令操作详解
- 给新手项目经理的12条建议
- Android布局管理器-从实例入手学习相对布局管理器的使用