xUtils框架进行下载视频

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近在研究视频下载,在网上也查阅了许多资料,也下了几个demo进行看了,但是都有一些问题,后来无意间看到了xUtils框架,感觉对于下载问题简单了很多。</span>

xUtils框架可以从gitHub上进行下载:https://github.com/wyouflf/xUtils/

xUtils框架分为四大模块:DbUtils模块,ViewUtils模块,HttpUtils模块,BitmapUtils模块。对于这四个模块,gitHub官网上都做了很详细的说明,想要学习的人到上面网址上进行了解,而且还附有了demo以便于学习了解。我在这里就不多说了,我现在主要需要使用的是HttpUtils模块进行视频的下载,虽然xUtils框架也给了一个相关的demo,但是并不是我想要的,因此,我自己便写了一个相关的demo进行了解。

当然首先要使用xUtils的包,因此要从gitHub上下载xUtils框架所封装的包。

然后可以利用xUtils框架封装好的方法进行我所需要的视频下载:

public class MainActivity extends Activity implements OnClickListener {

	private Button btn_down;
	private ProgressBar download_pb;
	private TextView tv;

	private String sdPath = "/sdcard/xUtils/" + System.currentTimeMillis()
			+ "lzfile.apk";
	private String url = "http://apps.lidroid.com/apiv2/dl/0000000/com.lidroid.fileexplorer";
	private HttpHandler handler;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		btn_down = (Button) findViewById(R.id.btn_down);
		btn_down.setVisibility(View.VISIBLE);
		download_pb = (ProgressBar) findViewById(R.id.download_pb);
		tv = (TextView) findViewById(R.id.tv);
		btn_down.setOnClickListener(this);
		download_pb.setMax(100);

	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.btn_down:
			HttpUtils http = new HttpUtils();
			handler = http.download(url, sdPath, true, false,
					new RequestCallBack<File>() {
						@SuppressWarnings("deprecation")
						@Override
						public void onStart() {
							tv.setText("正在连接");

						}

						@Override
						public void onLoading(long total, long current,
								boolean isUploading) {
							super.onLoading(total, current, isUploading);
							btn_down.setText("正在下载");
							download_pb.setProgress((int) ((double) current
									/ (double) total * 100));
							tv.setText((int) (current * 100 / total) + "%");
						}

						@Override
						public void onSuccess(ResponseInfo<File> responseInfo) {
							tv.setText(responseInfo.result.getPath());
						}

						@Override
						public void onFailure(HttpException error, String msg) {
							tv.setText(msg);
							btn_down.setText("暂停<span style="font-family: Arial, Helvetica, sans-serif;">");</span>
						}
					});
			break;
		default:
			break;
		}
	}

}



  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
xUtils简介 xUtils 含了很多实用的android工具 xUtils 最初源于Afinal框架 进行了大量重构 使得xUtils支持大文件上传 更全面的http请求协议支持 10种谓词 拥有更加灵活的ORM 更多的事件注解支持且不受混淆影响 xUitls最低兼容android 2 2 api level 8 目前xUtils主要有四大模块: DbUtils模块: android中的orm框架 一行代码就可以进行增删改查; 支持事务 默认关闭; 可通过注解自定义表名 列名 外键 唯一性约束 NOT NULL约束 CHECK约束等(需要混淆的时候请注解表名和列名); 支持绑定外键 保存实体时外键关联实体自动保存或更新; 自动加载外键关联实体 支持延时加载; 支持链式表达查询 更直观的查询语义 参考下面的介绍或sample中的例子 ViewUtils模块: android中的ioc框架 完全注解方式就可以进行UI 资源和事件绑定; 新的事件绑定方式 使用混淆工具混淆后仍可正常工作; 目前支持常用的20种事件绑定 参见ViewCommonEventListener类和com lidroid xutils view annotation event HttpUtils模块: 支持同步 异步方式的请求; 支持大文件上传 上传大文件不会oom; 支持GET POST PUT MOVE COPY DELETE HEAD OPTIONS TRACE CONNECT请求; 下载支持301 302重定向 支持设置是否根据Content Disposition重命名下载的文件; 返回文本内容的请求 默认只启用了GET请求 支持缓存 可设置默认过期时间和针对当前请求的过期时间 BitmapUtils模块: 加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象; 支持加载网络图片和本地图片; 内存管理使用lru算法 更好的管理bitmap内存; 可配置线程加载线程数量 缓存大小 缓存路径 加载显示动画等 ">xUtils简介 xUtils 含了很多实用的android工具 xUtils 最初源于Afinal框架 进行了大量重构 使得xUtils支持大文件上传 更全面的http请求协议支持 10种谓词 拥有更加灵活的ORM 更多的事件注解支持且不受混淆影响 xUitls最低兼 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值