Standup Timer的MVC模式及项目结构分析
生活随笔
收集整理的這篇文章主要介紹了
Standup Timer的MVC模式及项目结构分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
學(xué)習(xí)android一段時間了,為了進(jìn)一步了解android的應(yīng)用是如何設(shè)計開發(fā)的,決定詳細(xì)研究幾個開源的android應(yīng)用。從一些開源應(yīng)用中吸收點東西,一邊進(jìn)行量的積累,一邊探索android的學(xué)習(xí)研究方向。這里我首先選擇了jwood的Standup Timer?項目。Standup Timer的項目結(jié)構(gòu)
項目結(jié)構(gòu)劃分、以及各種設(shè)計模式分析我并不在行,所以如何寫這篇博文讓我相當(dāng)?shù)念^疼。還決定從項目的結(jié)構(gòu)談起介紹一下每個包的職責(zé),在結(jié)合MVC的概念進(jìn)一步的了解如此劃分項目的好處。 在src文件夾中net.johnpwood.android.standuptimer包對應(yīng)MVC中的控制器,它包含了項目中的所有Activity。 net.johnpwood.android.standuptimer.dao是數(shù)據(jù)持久層負(fù)責(zé)數(shù)據(jù)的存儲訪問。 net.johnpwood.android.standuptimer.model對應(yīng)MVC中的M模型處理絕大多數(shù)的業(yè)務(wù)(在Standup Timer中可能因為項目小,體現(xiàn)不出來)。 net.johnpwood.android.standuptimer.utils是個工具包。 另外res文件夾對應(yīng)了MVC模式中的View。 About.java和Help.java是用于展示項目信息和幫助的Activity類,本身并沒有復(fù)雜的業(yè)務(wù)邏輯。事實上about和Help是在ConfigureStandupTimer中,通過選擇某項目錄然后以對話框方式展示。當(dāng)ConfigureStandupTimer接受用戶的輸入請求,ConfigureStandupTimer.java控制器將請求移交給About.java控制器進(jìn)行處理,最后About.java將決定選擇那個View來響應(yīng)用戶的請求,這里是about.xml。 ConfigureStandupTimer是項目的起始Activtiy,它調(diào)用視圖main.xml接收到的一些會議開始前的信息配置(如參加人數(shù)、團(tuán)隊和會議時間等),處理驗證用戶輸入數(shù)據(jù)的合法性,然后決定調(diào)用哪個Model或者移交給其他控制器。 MeetingDetails用于展示會議的細(xì)節(jié),它調(diào)用視圖meeting_details.xml和用戶交互,并將請求轉(zhuǎn)交給Model里的Meeting來處理具體業(yè)務(wù)。 Prefs是一個PreferenceActivity,它負(fù)責(zé)系統(tǒng)的配置。 StandupTimer是項目的業(yè)務(wù)核心,通過倒計時方式控制會議的進(jìn)程。使用timer.xml和用戶交互,由Team負(fù)責(zé)具體業(yè)務(wù)處理(多為數(shù)據(jù)存儲訪問)。 TeamDetails用記錄團(tuán)隊的所有參加過的會議和會議統(tǒng)計信息。team_details.xml負(fù)責(zé)和用戶交互,其主要業(yè)務(wù)交由Team.java和MeetingStats.java處理。 TeamList團(tuán)隊列表,由teams.xml和用戶交互,調(diào)用Team來處理核心業(yè)務(wù)(從數(shù)據(jù)庫中選取所有的團(tuán)隊名稱)。項目結(jié)構(gòu)圖
系列索引
Android 開源項目-StandupTimer學(xué)習(xí)筆記索引??轉(zhuǎn)載于:https://www.cnblogs.com/keyindex/archive/2010/09/14/1825671.html
總結(jié)
以上是生活随笔為你收集整理的Standup Timer的MVC模式及项目结构分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多囊卵巢综合征与不孕的治疗
- 下一篇: 上海欢乐谷大洋历险刺激吗