参考了CSDN上的这个文章(HERE),之前只是新开一个线程:

public class DownloadThread implements Runnable{
String tarFile ;
public void setTar(String tarFile)
{
this.tarFile = tarFile ; //在Activity和线程之间传值
} @Override
public void run() {
..............
..............

后来看了人家写的那个例子,想把人家Service里面的东西直接复制到我的Thread里面,发现老问题,很多对象是在Activity里定义的,不能在Thread里调用。

于是想到用Thread直接调用人家的Service,发现Intent是在Activity之间传值的(后来发现也可以在Activity和Service之间传值),不能在Thread和Service之间传值。

此刻心中已经又万匹草泥马呼啸而过了,但还是决定用SharedPreferences传值。结果发现,这个类需要用到context,which,Thread里面还是没有。。。

我只想说Thread里面写东西真是越少越好。。

最后直接在Activity里调用了Service,并且用Intent传值,如下:

            Intent it = new Intent(MainActivity.this,ServiceOne.class);
it.putExtra("url", tarFile);
context.startService(it);

有人要问我为什么不一开始就在Activity里调用Service呢?因为4.0以后网络操作都是不能放在主线程里的,要单开线程,所以没有考虑到。

但是转念一想,那为什么作者的程序可以呢?仔细看了一下,发现作者的新线程是这么写的,在Service里面!值得学习。

//下载更新文件
private void downFile(final String url) {
new Thread() {
public void run(){
try {
HttpClient client = new DefaultHttpClient();
// params[0]代表连接的url
HttpGet get = new HttpGet(url);

另外,这是下载完成后安装的功能:

                                //下载完成后清除所有下载信息,执行安装提示
download_precent=0;
nm.cancel(notificationId);
Instanll((File)msg.obj,context);

End.

Android「后台下载」Feb.24小记的更多相关文章

  1. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片  发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的ap ...

  2. android ——后台下载

    这次的这个demo想要实现一个后台下载文件的功能,下载的时候会有一个告知进度的通知, 使用的依赖库就一个: compile 'com.squareup.okhttp3:okhttp:3.9.0' 大体 ...

  3. 个人IP「Android大强哥」上线啦!

    自从入职新公司之后就一直忙得不行,一边熟悉开发的流程,一边熟悉各种网站工具的使用,一边又在熟悉业务代码,好长时间都没有更文了. 不过新公司的 mentor(导师)还是很不错的,教给我很多东西,让我也能 ...

  4. 「知乎」对中国用户而言,Pure Android 是否比 MIUI 或 Flyme 体验更好? - Donnie的博客

    这篇文章转载自我在知乎上的回答 哎呀-不要站队嘛.其实这是一个很有意思的题目,让我们一点点来看 哦对,谢妖-.本人是Nexus 5用户,系统当然是Pure Android KitKat啦(臭谷粉!点D ...

  5. 【Android初级】如何实现一个“模拟后台下载”的加载效果(附源码)

    在Android里面,后台的任务下载功能是非常常用的,比如在APP Store里面下载应用,下载应用时,需要跟用户进行交互,告诉用户当前正在下载以及下载完成等. 今天我将通过使用Android的原生控 ...

  6. 更新日志 - fir.im「高级统计」功能上线

    距离 2016 年到来只剩 10 个日夜,fir.im 也准备了一些新鲜的东西,比如「高级统计」功能和「跳转应用商店」功能,帮助你更好地管理.优化应用,欢迎大家试用反馈:) 新增高级统计功能 这次更新 ...

  7. Activity 的 36 大难点,你会几个?「建议收藏」

    前言 学 Android 有一段时间了,一直都只顾着学新的东西,最近发现很多平常用的少的东西竟让都忘了,趁着这两天,打算把有关 Activity 的内容以问题的形式梳理出来,也供大家查缺补漏. 本文中 ...

  8. 前端构建工具之gulp(一)「图片压缩」

    前端构建工具之gulp(一)「图片压缩」 已经很久没有写过博客了,现下终于事情少了,开始写博吧 今天网站要做一些优化:图片压缩,资源合并等 以前一直使用百度的FIS工具,但是FIS还没有提供图片压缩的 ...

  9. Android中后台的劳动者“服务”

    前言 作为四大组件之一的Service,想必不少开发者都是了解的,那具体熟悉吗?是不是对Service中的每个知识点是否了解,它与Activity的关系又是什么样的,我们所理解的后台服务跟Servic ...

随机推荐

  1. Java_AOP原理

    AOP : 面向切面编程 在程序设计中,我们需要满足高耦合低内聚,所以编程需满足六大原则,一个法则. AOP面向切面编程正是为了满足这些原则的一种编程思想. 一.装饰者模式: 当我们需要给对象增加功能 ...

  2. centos 下完全卸载 mysql5.6

    查看已经安装的服务 rpm –qa|grep -i mysql -i 作用是不区分大小写 yum remove mysql mysql-server mysql-libs compat-mysql51 ...

  3. 加密算法和MD5等散列算法的区别(转)

    本文转自http://www.cnblogs.com/eternalwt/archive/2013/03/21/2973807.html 感谢作者 1.在软件开发的用户注册功能中常出现MD5加密这个概 ...

  4. 社会信息化环境下的IT新战略

    我们现在所处的信息化环境正在发生改变,技术已经成为影响组织的最重要的外部力量,传统的正金字塔的结构被移动互联网深深改变:员工能够更加自由的获取信息,变成更多的信息链接,这种链接不光连接人和组织,还连接 ...

  5. python的websocket实现Tornado

    1.使用flask的扩展: pip install flask-socketio 2.Tornado提供较好的ws(websocket)支持 参考:1.http://www.jianshu.com/p ...

  6. 应用程序中的server错误,没有名称为“ServiceBehavior”的服务行为

    应用程序中的server错误,没有名称为"ServiceBehavior"的服务行为         今天在阅读"创建和使用Web服务"的相关内容,在浏览器中查 ...

  7. android项目大全,总有你所需的

    注:打开请贴网址.有些直接通过链接打开的不对.  1.相对布局实例 http://kukuqiu.iteye.com/blog/1018396 2.Log图文具体解释(Log.v,Log.d,Log. ...

  8. 安卓执行机制JNI、Dalvik、ART之间的比較 。android L 改动执行机制。

    Android L默认採用ART执行环境.全然兼容64位移动处理器.Google称这将比此前的Dalvik模式性能提高两倍,可是会占用很多其它的内存空间.Android有三种执行模式:JNI.Dalv ...

  9. Android平台Camera实时滤镜实现方法探讨(十一)--实时美颜滤镜

    上一章完毕了对图片的磨皮处理.经过简单算法流程优化,能够达到非常快的速度.可是不能用于实时美颜.经实验,若採用仅仅处理Y信号的方案.半径极限大约是5-10,超过10则明显感受到卡顿.但对于1920X1 ...

  10. jQuery的ajax,当async为false时,同步操作失败。解决方式

    引发失败时代码: $.ajax({ url : 'your url', data:{name:value}, cache : false, async : true, type : "POS ...