android 服务应用,android 应用 主服务

该博客展示了Android服务应用的代码实现。定义了MainService类,包含任务队列和Activity列表,通过线程循环处理任务队列中的任务。还定义了Task类表示任务,IBiqooActivity接口用于初始化和刷新UI,实现了任务的添加、执行等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

packagecom.app.biqoo.logic;importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.Queue;importandroid.app.Activity;importandroid.app.Service;importandroid.content.Intent;importandroid.os.Handler;importandroid.os.IBinder;importandroid.os.Message;importcom.app.biqoo.bean.Task;importcom.app.biqoo.ui.IBiqooActivity;public class MainService extends Service implementsRunnable {//任务队列

private static Queue tasks=new LinkedList();private static ArrayList appActivities =new ArrayList();//是否运行县城

private booleanisRun;

Handler handler=newHandler(){public voidhandleMessage(android.os.Message msg){switch(msg.what){caseTask.WELCOME://首页

IBiqooActivity activity=(IBiqooActivity)getActivityByName("WelcomeActivity");

activity.refresh();break;default:break;

}

}

};/** 根据Activity的Name获取Activity对象*/

privateActivity getActivityByName(String name){if(!appActivities.isEmpty()){for(Activity activity:appActivities){if(null!=activity){if(activity.getClass().getName().indexOf(name)>0){returnactivity;

}

}

}

}return null;

}/** 添加一个Activity对象*/

public static voidaddActivity(Activity activity){

appActivities.add(activity);

}/** 添加任务到任务队列中*/

public static voidnewTask(Task t){

tasks.add(t);

}

@Overridepublic voidonCreate() {//TODO 自动生成的方法存根

isRun=true;

Thread thread=new Thread(this);

thread.start();super.onCreate();

}

@Overridepublic voidrun() {//TODO 自动生成的方法存根

while(isRun){

Task task=null;if(!tasks.isEmpty()){

task=tasks.poll();//执行完任务后把任务从队列中移除

if(null!=task){

doTask(task);

}

}try{

Thread.sleep(1000);

}catch(Exception e) {//TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}//处理任务

private voiddoTask(Task t){

Message msg=handler.obtainMessage();

msg.what=t.getTaskId();switch(t.getTaskId()){caseTask.WELCOME:

System.out.println("doTask>>>>> welcome");

msg.obj="首页";break;default:break;

}

handler.sendMessage(msg);

}

@OverridepublicIBinder onBind(Intent intent) {//TODO 自动生成的方法存根

return null;

}

}packagecom.app.biqoo.bean;importjava.util.Map;public classTask {//任务ID

private inttaskId;public static final int WELCOME = 0;//参数

private MaptaskParams;publicTask() {super();

}public Task(int taskId, MaptaskParams) {super();this.taskId =taskId;this.taskParams =taskParams;

}public intgetTaskId() {returntaskId;

}public void setTaskId(inttaskId) {this.taskId =taskId;

}public MapgetTaskParams() {returntaskParams;

}public void setTaskParams(MaptaskParams) {this.taskParams =taskParams;

}

}packagecom.app.biqoo.ui;public interfaceIBiqooActivity {/** 初始化数据*/

voidinit();/**

* 刷新UI*/

voidrefresh();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值