一、速微共享链引言

      速微共享链Service服务是Android四大组件之一,在Android中有着举足重轻的作用。Service服务是工作的UI线程中,当你的应用需要下载一个文件或者播放音乐等长期处于后台工作而有没有UI界面的时候,你肯定要用到Service+Thread来实现。因此你需要自己在Service服务里面实现一个Thread工作线程来下载文件或者播放音乐。然而你每次都需要自己去写一个Service+Thread来处理长期处于后台而没有UI界面的任务,这样显得很麻烦,没必要每次都去构建一个Service+Thread框架处理长期处于后台的任务。Google工程师给我们构建了一个方便开发者使用的这么一个框架—IntentService。

             速微共享链系统开发找:邹生188*191*72*596(微电)速微共享链小程序模式定制,速微共享链排队让利功能设计

二、速微共享链简介

IntentService是一个基础类,用于处理Intent类型的异步任务请求。当客户端调用android.content.Context#startService(Intent)发送请求时,Service服务被启动,且在其内部构建一个工作线程来处理Intent请求。当工作线程执行结束,Service服务会自动停止。IntentService是一个抽象类,用户必须实现一个子类去继承它,且必须实现IntentService里面的抽象方法onHandleIntent来处理异步任务请求。

三、速微共享链示例

Client代码

 

body {

 background: #BBBBBB;

 margin-top: 35px;

 padding: 0;

 font-family: ‘PingFang SC’,’Helvetica Neue’,’Helvetica’,’Arial’,sans-serif;

 margin-left: 5px;

 margin-right: 5px;

}

 

 

user agent stylesheet

body {

 display: block;

 margin: 8px;

}

Service客户端

public class DownLoadService extends IntentService {

 

    public static final String TAG = “DownLoadService”;

    //重写默认的构造方法

    public DownLoadService() {

        super(“DownLoadService”);

    }

 

    //在后台线程执行

    @Override

    protected void onHandleIntent(Intent intent) {

        int key = intent.getIntExtra(“key”, 0);

        String value = intent.getStringExtra(“value”);

        switch (key) {

            case 1:

                //模拟耗时任务1

                try {

                    Thread.sleep(3 * 1000);

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

                break;

            case 2:

                //模拟耗时任务1

                try {

                    Thread.sleep(3 * 1000);

                } catch (InterruptedException e) {

                    e.printStackTrace();

                }

                break;

            default:

                break;

        }

 

        Log.e(TAG, “\nthe current time is: ” + System.currentTimeMillis()/1000

                + “\nthe Thread id is ” + Thread.currentThread().getId()

                + “\nthe current task is ” + value);

    }

}

 

 

版权声明:本文为djdh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:http://www.cnblogs.com/djdh/p/8074502.html