![Android移動應(yīng)用設(shè)計與開發(fā)-第11章_第1頁](http://file4.renrendoc.com/view11/M00/1F/3A/wKhkGWX2auCAHXI2AAE6heoOWus936.jpg)
![Android移動應(yīng)用設(shè)計與開發(fā)-第11章_第2頁](http://file4.renrendoc.com/view11/M00/1F/3A/wKhkGWX2auCAHXI2AAE6heoOWus9362.jpg)
![Android移動應(yīng)用設(shè)計與開發(fā)-第11章_第3頁](http://file4.renrendoc.com/view11/M00/1F/3A/wKhkGWX2auCAHXI2AAE6heoOWus9363.jpg)
![Android移動應(yīng)用設(shè)計與開發(fā)-第11章_第4頁](http://file4.renrendoc.com/view11/M00/1F/3A/wKhkGWX2auCAHXI2AAE6heoOWus9364.jpg)
![Android移動應(yīng)用設(shè)計與開發(fā)-第11章_第5頁](http://file4.renrendoc.com/view11/M00/1F/3A/wKhkGWX2auCAHXI2AAE6heoOWus9365.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Android移動應(yīng)用設(shè)計與開發(fā)第11章綜合案例講解11.1客戶端11.1.1代碼結(jié)構(gòu)11.1.2功能模塊11.2效勞端11.2.1總體介紹11.2.2數(shù)據(jù)解析和控制流程
本章導(dǎo)讀11.1客戶端
客戶端從MVC設(shè)計模式的角度去分析有三個局部:視圖、控制器和模塊。其中界面視圖包含了Activity和一些View模塊,用于展示信息給用戶;模塊局部對應(yīng)到上圖的網(wǎng)絡(luò)模塊和數(shù)據(jù)模塊,各個模塊能提供不同的功能被其他局部調(diào)用;控制器對應(yīng)到上圖的MsgService局部,控制著整個客戶端消息的處理、數(shù)據(jù)的存儲和界面的刷新。11.1.1代碼結(jié)構(gòu)√用戶界面以Activity為核心,包括根底〔controller包〕、啟動〔loginsignin包〕中的類√數(shù)據(jù)庫局部包括數(shù)據(jù)庫操作類〔DatabaseHelper.java〕、數(shù)據(jù)表〔table包〕及數(shù)據(jù)共享〔contentprovider包〕?!叹W(wǎng)絡(luò)局部包括了模塊〔mode包〕、請求類〔Request.java〕及網(wǎng)絡(luò)連接類〔HttpClient.java〕,模塊中包括了針對不同請求類型返回數(shù)據(jù)的解析類,可以實現(xiàn)對返回數(shù)據(jù)的解析√其他一些包,如配置〔application包〕、效勞〔service包〕、工具〔utils包〕等實現(xiàn)輔助功能11.1.1代碼結(jié)構(gòu)由事件驅(qū)動的任務(wù)處理機制具體的步驟:〔1〕捕獲到事件后確定是何種請求〔有請求話題、請求私信和添加好友等〕;〔2〕封裝具體的請求參數(shù),根據(jù)請求的類型填寫相應(yīng)的參數(shù);〔3〕將參數(shù)傳送到所在Activity的AysncTask中進行處理,進行網(wǎng)絡(luò)的判斷和數(shù)據(jù)的請求等;〔4〕假設(shè)請求成功,就需要調(diào)用數(shù)據(jù)模塊的解析方法以解析響應(yīng)的JSON格式的數(shù)據(jù);〔5〕假設(shè)上述請求失敗了〔本案例的失敗包括整個過程的所有失敗,比方網(wǎng)絡(luò)未連接和數(shù)據(jù)解析失敗等〕,跳到該步驟執(zhí)行通知用戶請求失?。患僭O(shè)請求成功,這通知用戶刷新界面。11.1.1代碼結(jié)構(gòu)以定時器驅(qū)動的任務(wù)機制以定時器驅(qū)動的任務(wù)機制具體步驟:〔1〕與事件驅(qū)動不一樣的是,這里采用定時器定時啟動網(wǎng)絡(luò)訪問;〔2〕數(shù)據(jù)的封裝與事件驅(qū)動的一樣;〔3〕在Service中啟動新的線程來處理網(wǎng)絡(luò)連接請求;〔4〕數(shù)據(jù)的解析和數(shù)據(jù)的儲存與事件驅(qū)動處理中的步驟一樣;〔5〕界面視圖的更新〔包含請求失敗和請求成功〕,由于任務(wù)的操作在Service中,Service中沒有涉及界面更新的方法,所以通過Handler和實現(xiàn)了MsgRefresh接口的Activity來完成界面刷新功能。11.1.2功能模塊
A、啟動B、注冊11.1.2功能模塊C、登陸D、注銷11.1.2功能模塊E、話題進入話題列表界面〔BoradcastActivity.java〕時首先訪問本地數(shù)據(jù)庫,檢查是否存在話題信息,假設(shè)不存在話題信息,那么利用異步任務(wù)〔AysncTask〕機制——請求話題類ReadTask向效勞器發(fā)送話題信息請求,獲取所有話題信息數(shù)據(jù),將數(shù)據(jù)進行解析,保存到數(shù)據(jù)庫,再執(zhí)行界面刷新,將每條話題記錄的信息顯示。F、好友進入好友界面時,首先訪問本地數(shù)據(jù)庫中是否存在,假設(shè)不存在那么通過異步機制〔AsyncTask〕向效勞端請求數(shù)據(jù)。G、私信采用Android提供的異步任務(wù)來執(zhí)行任務(wù),包括私信的請求、回復(fù)等。具體的流程圖參考上一節(jié)中的登陸、注冊等流程,他們的控制過程大同小異,不同的只是輸入輸出的數(shù)據(jù)不一樣而已,不影響對任務(wù)處理過程的理解。11.1.2功能模塊H、用戶資料查看個人資料或者是其他用戶資料時都是用該ProfileActivity做顯示和操作,當要查看某個用戶的資料時,首先在好友表中查詢是否存在該用戶的信息,如果不存在那么通過網(wǎng)絡(luò)向效勞端請求,在請求的參數(shù)中放入該用戶的ID〔UID〕,然后通過異步任務(wù)〔AsyncTask〕來請求用戶的資料。具體的流程圖參考上一節(jié)中的登陸、注冊等流程,他們的控制過程大同小異,不同的只是輸入輸出的數(shù)據(jù)不一樣而已,不影響對任務(wù)處理過程的理解。I、消息更新機制為了保證大案例中各個模塊能實時接收到效勞端變化的數(shù)據(jù),比方好友發(fā)表了新話題、有新的私信等,本大案例中采用輪詢的機制每隔一段時間自動訪問效勞器,讀取效勞器端的話題、好友和私信表,查詢是否這些表中出現(xiàn)了新的值,假設(shè)是出現(xiàn)了那么返回這些數(shù)據(jù)。J、其他內(nèi)容如:用戶登錄數(shù)據(jù)的存儲;播送接收者;軟件的更新功能11.2效勞端11.2.1總體介紹該案例采用的效勞器是Tomcat6.5,代碼是用Java語言來編寫的,數(shù)據(jù)庫使用Mysql。11.2效勞端11.2.2數(shù)據(jù)解析和控制流程在整個過程中,用戶發(fā)來的數(shù)據(jù)和返回的數(shù)據(jù)都是JSON格式的,整個過程主要分以下幾步:〔1〕接收請求的參數(shù),并分析參數(shù),也就是解析JSON格式里面的內(nèi)容;〔2〕通過獲得的用戶ID〔UID〕和密碼〔password〕去認證用戶是否合法,當然如果是注冊的話就跳開該步驟;〔3〕通過獲得的請求類型〔requestType〕將任務(wù)分發(fā)到相應(yīng)的類中,比方添加好友,此時就調(diào)到AddFriends中執(zhí)行;〔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度定制木門市場調(diào)研與分析合同
- 2025年度家庭零花錢成長記錄合作協(xié)議
- 湘教版數(shù)學(xué)七年級上冊1.4.1《有理數(shù)的加法》聽評課記錄2
- 怎么做做聽評課記錄
- 2025年度企業(yè)內(nèi)部股權(quán)激勵協(xié)議:員工持股計劃實施合同
- 2025年度裝配式建筑外墻保溫一體化合同
- 珍稀動物保護策略與生態(tài)平衡
- 【 七年級數(shù)學(xué) 上冊】1.2.3《 相反數(shù)》聽評課記錄2
- 江蘇省高郵市車邏鎮(zhèn)七年級歷史上冊 第9課 秦統(tǒng)一中國說課稿 新人教版
- 2025年度健身俱樂部會員健身數(shù)據(jù)監(jiān)測與分析合同
- 2024年泰州職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫含答案解析
- 樓梯 欄桿 欄板(一)22J403-1
- 學(xué)生綜合素質(zhì)評定與職業(yè)規(guī)劃的關(guān)聯(lián)性分析
- 2025云南省貴金屬新材料控股集團限公司面向高校畢業(yè)生專項招聘144人高頻重點提升(共500題)附帶答案詳解
- 勞動法培訓(xùn)課件
- 香港及內(nèi)地傳真號碼
- 湖北中煙工業(yè)限責任公司2025年招聘(技術(shù)類和業(yè)務(wù)類崗位)【43人】高頻重點提升(共500題)附帶答案詳解
- 石家莊市長安區(qū)學(xué)年三年級數(shù)學(xué)第一學(xué)期期末檢測試題含解析
- 2025年中國一汽招聘筆試參考題庫含答案解析
- 特殊家長課后溝通技巧培訓(xùn)
- 超聲輸卵管造影護理配合
評論
0/150
提交評論