
今天主要是搭建了一个应用的基本流程。
点击BUTTON
出现一个字符串
布局一个button,一个EditText。
给button加监听器实现代码:
Task task=
new
Task(Config.
TASK_ONE
,
null
);
MainService.
addNewTask
(task);
解 释:
- Task里面包含两个属性任务ID和传入data,ID主要是在Config下配置。
- MainService主要是3个方法
-
public static void addNewTask(final Task ts) { new Thread() { //启动线程 public void run() { //调用doTask方法 mainService.doTask(ts); } }.start(); } public void doTask(Task task) { if (task == null) return; Map param = task.getTaskParam(); ArrayList list = new ArrayList<Object>(); //得到一个message对象 Message message = handler.obtainMessage(); //获取taskID用于判断执行哪个流程 int taskid = task.getTaskID(); switch (taskid) { case Config.TASK_ONE: String test = "test"; message.obj = test; break; } message.what = task.getTaskID(); //假如到消息队列并发送 handler.sendMessage(message); } public Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); IActivity ac = null; String activityName = ""; switch (msg.what) { //根据消息队列的msg判断改传入哪个Activity case Config.TASK_ONE: activityName = "AndroidTaskActivity"; break; } ac = MainService.getActivityByName(activityName); //刷新判断后的activity ac.refresh(msg.what, msg.obj); } }; public void refresh(Object... param) { //获取从MainService传过来的数据,第一个为TaskID,第二个通常为传过来的数据对象 int flag = (Integer)param[0]; switch(flag){ case Config.TASK_ONE: String str=(String) param[1]; et.setText(str); break; } }