首页 > 移动平台 > 详细

android 应用 主服务

时间:2015-04-10 17:18:49      阅读:197      评论:0      收藏:0      [点我收藏+]

package
com.app.biqoo.logic; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import android.app.Activity; import android.app.Service; import android.content.Intent; import android.os.Handler; import android.os.IBinder; import android.os.Message; import com.app.biqoo.bean.Task; import com.app.biqoo.ui.IBiqooActivity;

public class MainService extends Service implements Runnable { //任务队列 private static Queue<Task> tasks=new LinkedList<Task>(); private static ArrayList<Activity> appActivities =new ArrayList<Activity>(); //是否运行县城 private boolean isRun; Handler handler=new Handler(){ public void handleMessage(android.os.Message msg){ switch (msg.what){ case Task.WELCOME: //首页 IBiqooActivity activity =(IBiqooActivity)getActivityByName("WelcomeActivity"); activity.refresh(); break; default : break; } } }; /* * 根据Activity的Name获取Activity对象 */ private Activity getActivityByName(String name){ if(!appActivities.isEmpty()){ for(Activity activity:appActivities){ if(null!=activity){ if(activity.getClass().getName().indexOf(name)>0){ return activity; } } } } return null; } /* * 添加一个Activity对象 */ public static void addActivity(Activity activity){ appActivities.add(activity); } /* * 添加任务到任务队列中 */ public static void newTask(Task t){ tasks.add(t); } @Override public void onCreate() { // TODO 自动生成的方法存根 isRun=true; Thread thread =new Thread(this); thread.start(); super.onCreate(); } @Override public void run() { // 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 void doTask(Task t){ Message msg=handler.obtainMessage(); msg.what=t.getTaskId(); switch (t.getTaskId()){ case Task.WELCOME: System.out.println("doTask>>>>> welcome"); msg.obj="首页"; break; default : break; } handler.sendMessage(msg); } @Override public IBinder onBind(Intent intent) { // TODO 自动生成的方法存根 return null; } } package com.app.biqoo.bean; import java.util.Map; public class Task { //任务ID private int taskId; public static final int WELCOME = 0; //参数 private Map<String,Object> taskParams; public Task() { super(); } public Task(int taskId, Map<String, Object> taskParams) { super(); this.taskId = taskId; this.taskParams = taskParams; } public int getTaskId() { return taskId; } public void setTaskId(int taskId) { this.taskId = taskId; } public Map<String, Object> getTaskParams() { return taskParams; } public void setTaskParams(Map<String, Object> taskParams) { this.taskParams = taskParams; } } package com.app.biqoo.ui; public interface IBiqooActivity { /* * 初始化数据 */ void init(); /* * * 刷新UI */ void refresh(); }

 

android 应用 主服务

原文:http://www.cnblogs.com/jiji/p/4414741.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!