Service实现文件下载
首先在Activity中声明Intent对象,启动Service:
//生成Intent对象
Intent intent = new Intent();
//将文件名对象存入到intent对象当中
intent.putExtra("name", filename);
intent.setClass(this, DownloadService.class);
//启动Service
startService(intent);
DownloadService定义如下:
public class DownloadService extends Service{
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
//每次用户点击ListActivity当中的一个条目时,就会调用该方法
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//从intent对象中将文件名取出
String name = intent.getExtra("name");
//生成一个下载线程,并将文件名对象作为参数传递到线程对象当中
DownloadThread downloadThread = new DownloadThread(name);
//启动新线程
Thread thread = new Thread(downloadThread);
thread.start();
return super.onStartCommand(intent, flags, startId);
}
class DownloadThread implements Runnable{
private String name = null;
public DownloadThread(String name){
this.name = name;
}
@Override
public void run() {
//下载地址是http://192.168.1.105:8080/mp3/forever.mp3
//根据MP3文件的名字生成下载地址
String fileUrl = "http://192.168.1.105:8080/mp3/" + name;
//生成下载文件所用的对象
HttpDownloader httpDownloader = new HttpDownloader(); //此类的定义见上一节文件下载和存入SD卡
//将文件下载并存储到SDCard当中
int fileresult = httpDownloader.downFile(fileUrl, "/mp3", name);
String resultMessage = null;
if(fileresult == -1){
resultMessage = "下载失败";
}
else if(fileresult == 0){
resultMessage = "文件已经存在,不需要重复下载";
}
else if(fileresult == 1){
resultMessage = "文件下载成功";
}
//使用Notifications提示客户下载结果
System.out.println(resultMessage);
}
}
}
转载于:https://www.cnblogs.com/zhanglei93/p/4714112.html
Service实现文件下载相关推荐
- PDF下载与批量下载处理
需求:下载合同,且支持批量下载 思路: 1.点击下载时,发送请求,携带合同的id 2.根据id,获取合同对象,根据对象获取合同文件在服务器上的路径 3.通过IO进行下载 1.单个下载 发送请求,传一个 ...
- 记一次练手的项目经历-事件管理系统
此项目既为练手,也为简化个人工作.回过头来看,其实前端耗费的时间比较久,其实可以用elementadmin这个成熟框架的. 项目主要技术点: 动态数据源,数据库动态添加,添加后动态切换查询数据 自定义 ...
- Android基础 : Android Service[转]
2019独角兽企业重金招聘Python工程师标准>>> 很多情况下,一些与用户很少需要产生交互的应用程序,我们一般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用. ...
- 初识Service Worker
当下PWA比较火,而Service Worker是实现PWA的一项关键技术,今天我们一起了解下关于Service Worker的一些基础知识和适用场景. 什么是Server Worker 我们先来看一 ...
- 电脑总是死机 报Service Control M Hid input service 服务因下列错误而停止
找个好的电脑在c:\windows\system32中找到hidserv.dll文件,或者在网上找到此文件下载并放到该系统目录.在"我的电脑"同时点击鼠标右键,选择"管理 ...
- 使用IntentService给自己的Android应用写一个文件下载器。
接着上一篇的http://www.cnblogs.com/zhengxt/p/3657833.html,当我们想给自己的APP写一个文件下载器时,可以用重写IntentService来实现. 使用In ...
- 用Jsp来实现文件下载功能的几种方式
用Jsp来实现文件下载功能的几种方式 1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中.这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限).这 ...
- java 防止文件下载_Spring,Java:流式文件下载以避免内存不足错误
我正在开发一个Spring MVC应用程序,用户可以在其中下载文件.用户可以点击触发下载机制的附件.Spring,Java:流式文件下载以避免内存不足错误 昨天,当该多个下载和两个具有约2 GB的文件 ...
- SpringMVC之文件上传和文件下载
1. 文件上传 在web开发中一般会有文件上传的操作 一般JavaWeb开发中文件上传使用的 Apache组织的Commons FileUpload组件 SpringMVC中使用 Multipart ...
最新文章
- NOIP2017 列队
- 解决Fiddler不能监听Java HttpURLConnection请求的方法
- WPF入门知识(学习)
- Js计算时间差(天、小时、分钟、秒)
- 关注,粉丝关系的数据库设计
- 如何在 ASP.Net Core 使用 分布式缓存
- 010-python基础-数据类型-字符串操作
- 国科大prml15-基于浅层模型的计算机视觉--以人脸识别为例
- Win7休眠后唤醒出现黑屏的解决办法
- teamviewer 可用设备上限_2020:抚州办公楼采暖设备种类齐全
- STM32的Flash地址是0x08000000,从0x00000000不可以?
- 那些短,却叫人很心疼的句子(转)
- IOS 代码修改故事版中的自动布局参数
- steam审查元素免费得到几十款游戏教程
- Linux下的Chm文件阅读器
- 计算机进制算法在线,二进制转十进制和十六进制在线计算器
- 百度地图BMap API的应用实例
- “富春”端午狂揽过亿票房 评论褒贬两级分化
- 中日电脑相关词汇(超详版)
- 研二小硕的艰难实习路
热门文章
- myeclipse9安装SVN插件
- 让windows cmd也用上linux命令
- VideoCLIP-FacebookCMU开源视频文本理解的对比学习预训练,性能SOTA!适用于零样本学习!...
- VALSE 2020 线上大会简明日程发布(7月31日-8月5日)
- 用CNN做NLP文本分类竞赛
- MIT黑科技:无需视觉输入,立体声音频+摄像机元数据即可实现移动车辆定位
- 零基础直接学Python入门IT合适吗?
- 3D游戏建模到底需要学习哪些美术基础?新手学习3D建模?
- matlab+awgn和wgn,噪聲強度(噪聲功率) 噪聲方差到底有什么關系? matlab中的awgn函數...
- 3D重建 | 近5年前沿方法引用量TOP10工作汇总