IntentService与Service的最大区别就是前者依次执行,执行完当前任务才执行下一个任务,后者并发执行

在IntentService里面不写onCreate方法

MainActivity:

  1. package com.zzw.test1;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.os.SystemClock;
  7.  
  8. public class MainActivity extends Activity {
  9.  
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.activity_main);
  14. int value[] = new int[2];
  15. for (int i = 1; i <= 20; i++) {
  16. Intent intent = new Intent(this, TestAppIntentService.class);
  17. value[0] = i;
  18. value[1] = 20 - i;
  19. intent.putExtra(Contants.KEY, value);
  20. startService(intent);
  21. }
  22. }
  23.  
  24. @Override
  25. protected void onDestroy() {
  26. super.onDestroy();
  27. Intent intent = new Intent(this, TestAppIntentService.class);
  28. stopService(intent);
  29. }
  30.  
  31. }

TestAppIntentService:

  1. package com.zzw.test1;
  2.  
  3. import android.app.IntentService;
  4. import android.content.Intent;
  5. import android.util.Log;
  6. import android.widget.Toast;
  7.  
  8. public class TestAppIntentService extends IntentService {
  9. int count = 1;
  10.  
  11. // 只能写空的构造方法
  12. public TestAppIntentService() {
  13. super("TestAppIntentService");
  14. // TODO Auto-generated constructor stub
  15. }
  16.  
  17. // 相当于一个线程 不用在里面另外new一个线程
  18. @Override
  19. protected void onHandleIntent(Intent intent) {
  20. Log.d("------", count + "-------开始");
  21. int[] value = intent.getIntArrayExtra(Contants.KEY);
  22. int sum = value[0] * value[1];
  23. Log.d("-------------", value[0] + "*" + value[1] + "=" + sum);
  24. Log.d("------", count + "-------结束");
  25. count++;
  26. }
  27.  
  28. }

IntentService 串联 按顺序执行(此次任务执行完才执行下一个任务)的更多相关文章

  1. CountDownLatch用法---等待多个线程执行完才执行

    CountDownLatch用法---等待多个线程执行完才执行 CountDownLatch用法---等待多个线程执行完才执行 CountDownLatch用法---等待多个线程执行完才执行 Coun ...

  2. @DisallowConcurrentExecution 注解的作用 【定时器执行完当前任务才开启下一个线程的方式】

    转: @DisallowConcurrentExecution 注解的作用 2018年10月12日 16:42:40 fly_captain 阅读数:4317   Quartz定时任务默认都是并发执行 ...

  3. 分享一个shell脚本的坑:grep匹配+wc取值 在脚本执行后的结果与手动执行结果不一致

    打算在跳板机上写一个shell脚本,批量检查远程服务器上的main进程是否在健康运行中. 先找出其中一台远程机器,查看main进程运行情况 [root@two002 tmp]# ps -ef|grep ...

  4. update语句的执行步骤及commit语句的执行顺序

    update语句的执行步骤和其他DML语句的执行步骤是一样的包含insert .delete语句等,执行步骤如下: 一.如果数据和回滚数据不在数据库高速缓存区中,则oracle服务器进程将把他们从数据 ...

  5. js中页面加载完成后执行的几种方式及执行顺序

    1:使用jQuery的$(function){}; 2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式.两个是docu ...

  6. ORACLE中查询语句的执行顺及where部分条件执行顺序测试

    Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符, ...

  7. js中页面加载完成后执行的几种方法及执行顺序

    在js和jquery使用中,经常使用到页面加载完成后执行某一方法.通过整理,大概是五种方式(其中有的只是书写方式不一样). 1:使用jQuery的$(function){}; 2:使用jquery的$ ...

  8. 使用定时器判断确保某个标签有值才执行方法, 控制js代码执行先后顺序

    使用定时器判断确保某个标签有值才执行方法: var wait = setInterval(function(){ var diqu = $("#diqu").val(); //确保 ...

  9. for里面是采用setInterval遍历二维数组,for循环到最后一个数的时候,才执行setInterval的问题解决

    点击播放看效果 <!doctype html> <html lang="en"> <head> <meta charset="U ...

随机推荐

  1. (easy)LeetCode 204.Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. Credits:Special t ...

  2. make menuconfig 是一个目录。停止 错误解决

    在移植Linux内核时候,发现用 make menuconfig  发生如下错误 linux@ubuntu:/work/linux-socfpga$ make menuconfig make: *** ...

  3. keypress

    onKeyUp="keypress2(this,140)" onblur="keypress2(this,140)"<span>你还可以输入140个 ...

  4. html——SVG

    SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形 ...

  5. UIApplication及UIWindow

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  6. 【Robot Framework】robot framework 学习以及selenium、appnium、requests实践(三)

    看了上一章的内容,想必较为简单的case也都会编写了吧,但是是不是觉得,如果能够实现用例参数化,是不是会节省很多劳动力,这节就来学下RF中的user keywords,会让你发现写用例原来可以这么简单 ...

  7. flex使用buttonbar为viewstack添加导航功能

    先建立一个Main.mxml的应用程序,作为一个主程序,再建立两个component ,一个是jiaju.mxml ,另一个是dianqi.mxml. Main.mxml:  <?xml ver ...

  8. 【PL/SQL练习】DML语句的处理(可以处理多行数据)

    1.Insert (在表中插入一行数据,并查看) SQL> desc t1; Name Type Nullable Default Comments ---- ------------ ---- ...

  9. hive添加分区

    添加分区 alter table 表名 add partition (dt='2016-09-12'); select * from 表名 where dt = '2016-09-12' limit ...

  10. Informatica 启动、停止工作流命令

    切换到Infa用户su - infa 停止$INFA_HOME/server/tomcat/bin/infaservice.sh shutdown 启动$INFA_HOME/server/tomcat ...