`
mysfzj_web
  • 浏览: 14559 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

根据公司项目~学习搭建开发的框架(一)

 
阅读更多

 



 
今天主要是搭建了一个应用的基本流程。



 
点击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; 
                  }
    
    
           }
    
    
     








  • 大小: 18.8 KB
  • 大小: 4.4 KB
  • 大小: 4.9 KB
1
1
分享到:
评论
2 楼 mysfzj_web 2012-01-10  
heroxuetao 写道
学习一下

我也是才学的。。后面最后一节有附带源码
1 楼 heroxuetao 2012-01-10  
学习一下

相关推荐

Global site tag (gtag.js) - Google Analytics