#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实现多线程下载文件相关推荐

  1. Android x86开源项目虚拟机镜像下载(VM/Vbox)

    Android x86 开源项目可以让我们在虚拟机中直接运行Android系统,这里的x86指的是平台架构非32位版. 如果你曾经查找过VMware 虚拟机安装 Android 的教程,应该了解直接安 ...

  2. 安卓巴士总结了近百个Android优秀开源项目

    安卓巴士总结了近百个Android优秀开源项目 转自:http://sfshine.iteye.com/blog/1724962 Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了 ...

  3. 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域_拔剑-浆糊的传说_新浪博客...

    http://www.apkbus.com/android-17627-1-1.html 安卓巴士总结了近百个Android优秀开源项目,覆盖Android开发的每个领域 bayou 发表于 2011 ...

  4. Android常见开源项目的原理及使用方法

    Android常见开源项目的原理及使用方法 http://www.duobei.com/course/4514662053 [课程目标]  提升Android技术,提升软件设计技能,迈向架构师 [课程 ...

  5. 2018.11月Android优质开源项目

    2019独角兽企业重金招聘Python工程师标准>>> 2018.11月Android优质开源项目 转载于:https://my.oschina.net/coderminer/blo ...

  6. 【UI学习】Android github开源项目,酷炫自定义控件(View)汇总

    [UI学习]Android github开源项目,酷炫自定义控件(View)汇总 转载  2016年09月04日 23:23:15 3484 近期整理的比较酷炫并且我们会经常用到的custom vie ...

  7. 多线程下载文件实践之旅

    目录 1.使用场景 2.多线程下载原理 3.请求如何分段下载 3.1.需要请求的数据如何分段. 3.2.分段下载的数据如何组装成完整的数据文件. 4.关键代码实现 3.成果展现 4.总结 5.参考文章 ...

  8. python多线程下载文件

    看到一篇多线程下载的文章,这里把自己的理解写一篇多线程下载的文章. 我们访问http://192.168.10.7/a.jpg时是get请求,response的head包含Content-Length ...

  9. java 多线程下载文件并实时计算下载百分比(断点续传)

    多线程下载文件 多线程同时下载文件即:在同一时间内通过多个线程对同一个请求地址发起多个请求,将需要下载的数据分割成多个部分,同时下载,每个线程只负责下载其中的一部分,最后将每一个线程下载的部分组装起来 ...

最新文章

  1. MDK:assert_param函数未定义的错误:Error: L6218E
  2. django-admin.py创建项目失败解决方法
  3. faster rcnn学习之rpn 的生成
  4. .NET RulesEngine(规则引擎)
  5. SPOJ - SUBLEX 【后缀自动机】
  6. 【经典算法】希尔算法
  7. Java多线程-生产者消费者问题(多个消费者多个生产者)
  8. svn上传文件最大多少_SVN控制上传文件尺寸
  9. CREO:CREO软件之零件【编辑】之修饰、用户定义特征的简介及其使用方法(图文教程)之详细攻略
  10. H3CNE、H3CSE认证考试亲身奋斗过程的心得(拿出来晒晒)
  11. jsp管理系统页面模板_管理后台原型设计分享- 政务管理系统
  12. python中gm11_python实现灰色预测模型(GM11)——以预测股票收盘价为例
  13. 用计算机计算2的31次方,2的31次方,用什么方法可以最快算出来呢
  14. 《炬丰科技-半导体工艺》MOCVD生长同质外延GaN的形态和结构特征
  15. R语言绘制带误差和可信区间的折线图
  16. 面试时被问有没有别家offer,回答没有,面试总是挂!回答有,就说我是面试选手,欺骗公司!...
  17. C语言----文件存储
  18. 《UNIX网络编程》第一步:编写自己的daytime客户端,并从daytime服务器获取时间
  19. 28岁想入行软件测试,可行吗?
  20. 每一款都很能打 苏宁小Biu连发新品布局IoT

热门文章

  1. gitignore重要技巧
  2. python写音乐播放器_python 模拟(简易)音乐播放器
  3. mediumtext和string转换_数据类型 - 字符串类型 - 《TiDB v3.0 用户文档》 - 书栈网 · BookStack...
  4. 划分字母区间(双指针,贪心)
  5. mapgis明码文件转为点线面文件_干货|MAPGIS的二十一个实用方法及技巧
  6. 腾讯云【人脸识别】服务的一次尝试(JAVA)
  7. mappingResources、mappingLocations、mappingDirectoryLocations、mappingJarLocations配置映射文件时的区别
  8. Linux网络状态工具ss命令操作详解
  9. 给新手项目经理的12条建议
  10. Android布局管理器-从实例入手学习相对布局管理器的使用