新浪微博Anroid开发(二)
一、項(xiàng)目整體設(shè)計(jì)
android客戶端的功能:
1、登錄
2、獲到關(guān)注的微博內(nèi)容
3、查看一條微博
4、發(fā)表微博
5、我的資料
6、刷新
包括:UI,logic
二、設(shè)計(jì)思路
UI : 啟動(dòng)閃屏動(dòng)畫,登錄Acitivity , MainActivity(顯示關(guān)注微博),NewActivity(發(fā)表新微博),ShowActivity(查看一條微博),InfoActivity(我的資料)
項(xiàng)目采用MVC模式,UI層只做顯示。logic中的類調(diào)用微博接口,獲取數(shù)據(jù),傳遞給UI進(jìn)行刷新。
logic包設(shè)計(jì)的類:
1 、接口IWeiboActivity:
所有Activity繼承Activity,實(shí)現(xiàn)IWeiboActivity接口,init方法完成初始化工作,refresh方法完成刷新(收到logic返回的消息后,進(jìn)行UI的刷新)
package com.shaccp.logic;publicinterface IWeiboActivity {
publicvoid init();
publicvoid refresh(Object... args);
}
2、Task類:
微博中所要執(zhí)行的任務(wù),以Task類來標(biāo)識(shí)(taskId 任務(wù)標(biāo)識(shí)ID,params 任務(wù)參數(shù))
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;
//增加任務(wù),只需要在此增加常量標(biāo)識(shí)
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? 業(yè)務(wù)邏輯的執(zhí)行,返回消息均在這個(gè)類中處理。
MainService接收UI傳來的數(shù)據(jù),執(zhí)行任務(wù),調(diào)用微博接口,實(shí)現(xiàn)功能,把執(zhí)行的結(jié)果消息,返回給UI,進(jìn)行UI刷新或跳轉(zhuǎn)。
考慮到需到不斷接收UI傳來的需要執(zhí)行的任務(wù),如獲取最新的網(wǎng)絡(luò)數(shù)據(jù),發(fā)表微博...
所以MainService設(shè)計(jì)成一個(gè)Service ,啟動(dòng)一個(gè)線程來不斷接收UI傳來的任務(wù),進(jìn)行處理。
public class MainService extends Service implements Runnable
類的成員:
publicstatic List<Activity> allActivity =new ArrayList<Activity>(); //保存運(yùn)行的所有Activity,方便進(jìn)行UI切換、跳轉(zhuǎn)publicstatic List<Task> allTask =new ArrayList<Task>(); //保存當(dāng)前需要執(zhí)行的任務(wù)
總結(jié)
以上是生活随笔為你收集整理的新浪微博Anroid开发(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 松木和杉木哪个好(松木好还是香杉木好)
- 下一篇: WCF重载的方式