afinal框架之Android视频下载,指定路径
afinal框架作为最受欢迎的安卓框架之一,它的功能也是尤其多的,主要分为下面4大模块:
1.FinalDB模块:android中的orm框架,一行代码就可以进行增删改查。支持一对多,多对一等查询。
2.FinalActivity模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
3.FinalHttp模块:通过httpclient进行封装http数据请求,支持ajax方式加载。
4.FinalBitmap模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
<!--EndFragment-->不过今天主要试验的是FinalHttp这个功能来对网络视频进行一个下载,不出意外地话,你可以在半个小时以内做出一个手机视频下载器了。指定下载路径到本地文件夹,用本地播放器来播放
那么在敲击代码之前,还有一些准备工作需要去做。
================================================================================
一:#准备好URL#
网上大牛的文章很多,但是无一例外,他们没有告诉我如何寻找能够下载视频的URL,就是下载地址,当然了可能是我太小白了,大神路过莫嘲笑---,虽然找到一个URL有点难度,但是找到一个视频是绝对简单的,首先在网上找一个视频:
第一步:找到您需要下载的视频或专辑页面
会跳到一个搜索页面,随便点一集视频的链接:
然后粘贴到硕鼠官网解析出下载地址。
具体详细的点击:http://www.flvcd.com/index.htm 硕鼠的官网,里面有新手入门详细解答(妈妈再也不怕我找不到视频下载地址啦)
二:#准备导入afinal.jar包#
网上可下载的包非常多,可以自行百度下载,博主讲述afinal数据存储的文章也有下载包,有心的同学可以找找。
然后将jar包导入libs里面:
ok万事俱备只欠东风了
=================================================================================
布局文件加入一个textview用于点击后进行下载并且监视下载进度以及下载后缓存路径
<TextView android:id="@+id/videopress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/image" android:layout_below="@+id/image" android:layout_marginTop="85dp" android:onClick="loadvideo" android:text="点击下载视频" />
MainActivity里:
class loadvideo implements OnClickListener{ @Override public void onClick(View v) { //初始化FinalHttp FinalHttp fh=new FinalHttp(); //文件保存路径 File f = new File("/storage/emulated/0/imageloader/video"); //文件路径不存在则新建 if (!f.exists()) { f.mkdir(); } //设置下载地址,缓存地址,设置支持断点续传,随时停止下载任务 或者 开始任务,Ajax异步加载,开始下载 fh.download("http://f01.v1.cn/group1/M00/13/9F/CgoBNlJINEyACQ0uAGGgCQ1tRfA557.flv", "/storage/emulated/0/imageloader/video/岳麓书院.flv", true,new AjaxCallBack<File>(){ //下载过程中,count是文件大小,current是下载了多少,做一个百分比显示 public void onLoading(long count, long current) { vp.setText("下载进度:"+current+"/"+count); } //下载完成后输出下载地 public void onSuccess(File t) { vp.setText("下载到:"+t==null?"null":t.getAbsoluteFile().toString()); } }); } }
这样你以为大功告成了么,nonono,一定记得添加权限在AndroidManifest.xml里面添加
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
到这里大功告成用时4秒钟就下好了6M的视频
现在来让我们看一下效果吧
=================================================================================
【效果】: