新浪微博Anroid开发(二)

一、项目整体设计

android客户端的功能:

1、登录

2、获到关注的微博内容

3、查看一条微博

4、发表微博

5、我的资料

6、刷新

包括:UI,logic

二、设计思路

UI : 启动闪屏动画,登录Acitivity , MainActivity(显示关注微博),NewActivity(发表新微博),ShowActivity(查看一条微博),InfoActivity(我的资料)

项目采用MVC模式,UI层只做显示。logic中的类调用微博接口,获取数据,传递给UI进行刷新。

logic包设计的类:

1 、接口IWeiboActivity

所有Activity继承Activity,实现IWeiboActivity接口,init方法完成初始化工作,refresh方法完成刷新(收到logic返回的消息后,进行UI的刷新)

package com.shaccp.logic;

publicinterface IWeiboActivity {

publicvoid init();

publicvoid refresh(Object... args);

}

2、Task类:
微博中所要执行的任务,以Task类来标识(taskId 任务标识ID,params 任务参数)

package com.shaccp.logic;

import java.util.Map;

publicclass Task {

privateint taskId;
private Map params;

publicstaticfinalint TASK_LOGIN =1;
publicstaticfinalint TASK_GET_TIMELINE =2;
publicstaticfinalint TASK_NEW_WEIBO =3;
//增加任务,只需要在此增加常量标识


public Task() {
super();
}

public Task(int taskId, Map params) {
super();
this.taskId = taskId;
this.params = params;
}

publicint getTaskId() {
return taskId;
}

publicvoid setTaskId(int taskId) {
this.taskId = taskId;
}

public Map getParams() {
return params;
}

publicvoid setParams(Map params) {
this.params = params;
}

}

3、MainService  业务逻辑的执行,返回消息均在这个类中处理。

MainService接收UI传来的数据,执行任务,调用微博接口,实现功能,把执行的结果消息,返回给UI,进行UI刷新或跳转。

考虑到需到不断接收UI传来的需要执行的任务,如获取最新的网络数据,发表微博...

所以MainService设计成一个Service ,启动一个线程来不断接收UI传来的任务,进行处理。

public class MainService extends Service implements Runnable

类的成员:

publicstatic List<Activity> allActivity =new ArrayList<Activity>(); //保存运行的所有Activity,方便进行UI切换、跳转

publicstatic List<Task> allTask =new ArrayList<Task>(); //保存当前需要执行的任务
posted @ 2011-06-27 09:52  还是你最好  阅读(1156)  评论(0编辑  收藏  举报