文档章节

使用开源组件进行断点下载

chenruibing
 chenruibing
发布于 2015/05/29 02:06
字数 290
阅读 130
收藏 6


<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" >

    <EditText
        android:id="@+id/et_path"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="http://192.168.1.100:8080" />

    <Button
		android:onClick="download"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="下载" />

    <TextView
        android:id="@+id/tv_info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />

</LinearLayout>

需要加入开源组件的jar包

package com.itheima.download2;

import java.io.File;

import android.app.Activity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

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;

public class MainActivity extends Activity {
	private EditText et_path;
	private TextView tv_info;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		et_path = (EditText) findViewById(R.id.et_path);
		tv_info = (TextView) findViewById(R.id.tv_info);
	}

	public void download(View view){
		String path = et_path.getText().toString().trim();
		if(TextUtils.isEmpty(path)){
			Toast.makeText(this, "请输入下载的路径", 0).show();
			return;
		}else{
			HttpUtils http = new HttpUtils();
			HttpHandler handler = http.download(path,
					"/sdcard/xxx.zip",
				    true, // 如果目标文件存在,接着未完成的部分继续下载。服务器不支持RANGE时将从新下载。
				    true, // 如果从请求返回信息中获取到文件名,下载完成后自动重命名。
				    new RequestCallBack<File>() {

				        @Override
				        public void onStart() {
				        	tv_info.setText("conn...");
				        }

				        @Override
				        public void onLoading(long total, long current, boolean isUploading) {
				        	tv_info.setText(current + "/" + total);
				        }

				        @Override
				        public void onSuccess(ResponseInfo<File> responseInfo) {
				        	tv_info.setText("downloaded:" + responseInfo.result.getPath());
				        }
				        @Override
				        public void onFailure(HttpException error, String msg) {
				        	tv_info.setText(msg);
				        }
				});
		}
	}
}



© 著作权归作者所有

chenruibing
粉丝 12
博文 203
码字总数 109101
作品 0
潮州
私信 提问
iOS: 断点下载

最近想到断点下载这个技术点, 然后学习尝试了一下,下面分享自己的一些心得. 上网找了很多demo, 大多用的是老版本的AFN, 很少有基于3.x版本的AFN来实现的, 有一些3.X版本的实现也是做得在理想...

Sunxb
2017/04/24
0
0
关于IOS的代码规范和工程结构梳理

这两天看了一下IOS的工程,发现虽然以前我们有定制一些条条框框,但是还是不够细粒,随着时间的推移,会有更多的人参与开发,更多的代码资源整合进来,网上的一些《编码及命名规范》已经很多...

_huangbo
2015/02/22
5
4
uni-app 1.4 发布,一套代码,发行多个平台

在2019新年到来之际, 1.4版本正式发布,新增支持百度、支付宝小程序,开放插件市场,同时注入更多优秀特性,为开发者送上了一份新年大礼! 支持更多小程序平台 1.4 版本新增支持百度、支付宝...

崔红保
01/22
3.9K
29
uni-app 1.4 发布,一套代码,发行小程序(微信/支付宝/百度)、H5、App多个平台

在2019新年到来之际, 1.4版本正式发布,新增支持百度、支付宝小程序,开放插件市场,同时注入更多优秀特性,为开发者送上了一份新年大礼! 支持更多小程序平台 1.4 版本新增支持百度、支付宝...

CHB
01/03
0
0
Delphi用ICS控件进行断点续传

Delphi用ICS控件进行断点续传 原帖地址:http://www.lonetear.net/bbs/read.asp?id=36143 原帖地址2(傻猫):http://www.samool.com/archives/41252/ 用HTTPCLI和NMHTTP都可以实现断点续传,原理...

vga
2014/06/07
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
46分钟前
4
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
4
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
13
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
14
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部