标签:
<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; } } }
标签:
原文地址:http://blog.csdn.net/xia09222826/article/details/42173983