温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

结合AsyncTask 下载文件

发布时间:2020-07-26 09:44:09 来源:网络 阅读:339 作者:鹭明 栏目:开发技术

实现步骤:

结合AsyncTask 下载文件


SD卡路径:

Environment.getExternalStorageDirectory().getAbsolutePath()+“/”

注意添加权限:  网络权限   写入SD卡权限

 <uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


模拟手机助手

结合AsyncTask 下载文件


还未下载时,按钮显示下载   可点击

下载过程中  ,显示正在下载  不可点击

下载完成     ,  下载完成          可点击

实现步骤:

1.// 创建容器 保存文件地址

    ArrayList<String> filePathList = new ArrayList<String>();

2.获得文件名

结合AsyncTask 下载文件

3.点击按钮启动异步任务下载文件

结合AsyncTask 下载文件


常见错误:

下载失败:下载地址 保存地址出错     查看橙色日志  警告日志 warn

保存地址出错  

结合AsyncTask 下载文件


问题1:下载完成后,滑动Listview,还没下载的行显示下载完成

原因:复用行布局造成的

解决:根据下载状态  设置默认值 

创建容器保存下载状态   

还未下载时,   null

下载过程中      false       doInbackground

下载完成         true        onPostExecute

//1.保存下载状态

 HashMap<Integer, Boolean> stateMap=new HashMap<>();

2.保存下载状态的时机

结合AsyncTask 下载文件

结合AsyncTask 下载文件

3.getview()根据下载状态设置默认值

结合AsyncTask 下载文件


问题2,下载过程中,缓慢滑动Listview,还没下载的行显示下载进度 

原因:复用行布局造成,task1,更新同一个控件

解决:下载过程中 ,在可行更新控件

结合AsyncTask 下载文件



问题3:下载过程中,快速滑动Listview ,下载进度串行

原因: 无规律复用 行布局

解决:创建方法更最新控件

结合AsyncTask 下载文件


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI