




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Android 移動(dòng)應(yīng)用設(shè)計(jì)與開發(fā)2第第2章章 Android項(xiàng)目項(xiàng)目n2.1 第一個(gè)應(yīng)用程序第一個(gè)應(yīng)用程序 2.1.1 創(chuàng)建Android項(xiàng)目 2.1.2 項(xiàng)目核心文件和目錄 2.1.3 開發(fā)工具介紹n2.2 綜合案例綜合案例 2.2.1 需求分析 2.2.2 概要設(shè)計(jì)n2.3 本章小結(jié)本章導(dǎo)讀本章導(dǎo)讀32.1.1 創(chuàng)建創(chuàng)建Android項(xiàng)目項(xiàng)目1、首先,創(chuàng)建AVD(Android Virtual Device)。 AVD用于運(yùn)行Android項(xiàng)目,在一個(gè)AVD上可以配置很多的運(yùn)行項(xiàng)目。AVD的創(chuàng)建方式有兩種:通過Eclipse開發(fā)環(huán)境創(chuàng)建,或者通過命令行創(chuàng)建。 通過Eclipse開發(fā)環(huán)境創(chuàng)
2、建 在Eclipse開發(fā)環(huán)境下選擇WindowAndroid SDK and AVD Manager,然后從Virtual devices目錄下點(diǎn)擊New,在彈出框中配置選項(xiàng),需要在Name中輸入AVD的名稱,在Target中選擇系統(tǒng)類庫及API級(jí)別,然后指定SD Card和Skin即可。如下頁左圖。 在命令行創(chuàng)建則需首先找到Tools的路徑,查看可用的Android targets,然后創(chuàng)建AVD,可通過android list targets命令來查看所創(chuàng)建的AVD。如下頁右圖。42.1.1 創(chuàng)建創(chuàng)建Android項(xiàng)目項(xiàng)目52.1.1 創(chuàng)建創(chuàng)建Android項(xiàng)目項(xiàng)目2、新建工程。點(diǎn)擊And
3、roid Project,然后配置工程選項(xiàng)。v 對(duì)于已存在的代碼文件,可以通過Android Project,在彈出的配置框中選中Create project from existing source,然后在Location欄點(diǎn)擊Browse來選擇所要打開的項(xiàng)目地址,這里選取Android系統(tǒng)自帶的例子說明,如右圖所示。v 有一些是已經(jīng)含有工程配置文件的項(xiàng)目,則可以通過Existing Projects into Workspace來導(dǎo)入。62.1.1 創(chuàng)建創(chuàng)建Android項(xiàng)目項(xiàng)目3、運(yùn)行。 現(xiàn)在我們啟動(dòng)模擬器運(yùn)行剛剛創(chuàng)建的project1這個(gè)項(xiàng)目,需要在項(xiàng)目名上點(diǎn)擊右鍵選擇Run AsAn
4、droid Application來運(yùn)行,我們也可以通過Run Configurations來修改啟動(dòng)配置。此時(shí),模擬器已經(jīng)啟動(dòng),顯示的界面如下圖所示。 我們可以看到啟動(dòng)的模擬器上顯示了一段文字,我們此時(shí)尚未在項(xiàng)目中輸入任何代碼,這是項(xiàng)目自己默認(rèn)的顯示。72.1.2 項(xiàng)目核心文件和目錄項(xiàng)目核心文件和目錄所建工程項(xiàng)目中存在的內(nèi)容:v 1、src文件夾。v 2、gen文件夾。v 3、Android 1.5。v 4、assets文件夾。v 5、res文件夾。v 6、res/drawable。v 7、res/layout。v 8、res/values。v 9、.classpath。v 10、.proj
5、ect。v 11、AndroidManifest.xml。v 12、perties。v 13、bin文件夾。82.1.3 開發(fā)工具介紹開發(fā)工具介紹v aaptv adbv android工具v Android模擬器v Android層級(jí)閱覽器v Draw Nine-patchv DDMSv sqlite3v TraceViewv logcat92.2 綜合案例綜合案例 本節(jié)將提出一個(gè)大案例,主要包含該大案例的需求分析和概要設(shè)計(jì)。102.2.1 需求分析需求分析 本書大案例主要是一款一定范圍域內(nèi)的用戶進(jìn)行通信和交流的產(chǎn)品,本書將從基礎(chǔ)版塊、操作功能、業(yè)務(wù)邏輯三方面來給出一些
6、功能需求。1、基礎(chǔ)板塊 該案例將包含四大基礎(chǔ)版塊的內(nèi)容:用戶個(gè)人資料,話題,私信,好友。112.2.1 需求分析需求分析2、操作功能 該綜合案例將包含注冊(cè)、登錄、退出、注銷、發(fā)表/查看話題、評(píng)論話題、發(fā)送/接收私信、閱讀私信、添加/刪除好友以及查看用戶資料等功能。122.2.1 需求分析需求分析3、業(yè)務(wù)邏輯該大案例包括如下業(yè)務(wù)邏輯:(1)要使用該產(chǎn)品的功能,需要經(jīng)過有效的注冊(cè);(2)該產(chǎn)品的所有用戶都可以發(fā)表話題,并且發(fā)表的話題能夠讓本產(chǎn)品所有用戶看見,同時(shí)用戶還可以回復(fù)話題;(3)本產(chǎn)品所有的用戶都能夠給任意其他用戶發(fā)送文本私信,并且保留發(fā)送記錄;(4)本產(chǎn)品的所有用戶都能夠接收任意其他用戶
7、發(fā)送的文本私信,并且可以進(jìn)行閱讀和查看接收記錄;(5)對(duì)于本用戶而言,發(fā)送或者接收的私信內(nèi)容都是可以查看的;(6)任意用戶可被其他用戶加為好友,前提是同意其他用戶所發(fā)送的加為好友的消息;(7)兩用戶可以解除好友關(guān)系,產(chǎn)品將通過一定 方式把好友關(guān)系中解除一方的操作告知被解除一方;(8)使用本產(chǎn)品的用戶可以查看其他用戶的資料。132.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1、 總體設(shè)計(jì) 本案例在Android客戶端上的設(shè)計(jì)主要包含四大部分: 用戶界面,即UI方面的設(shè)計(jì),對(duì)應(yīng)第5章的內(nèi)容; 數(shù)據(jù)庫,對(duì)應(yīng)第8章的內(nèi)容; 事件處理,包含常用的事件響應(yīng)機(jī)制和處理流程,主要對(duì)應(yīng)第4章、第6章、第7章、第10章的內(nèi)容; 網(wǎng)
8、絡(luò)訪問,對(duì)應(yīng)第9章的內(nèi)容。1142、數(shù)據(jù)庫表設(shè)計(jì) a、表名:Topic(話題)b、表名:PrivateLetter(私信)2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1屬性類型描述 _idint Android系統(tǒng)主鍵 UIDlong 話題發(fā)布者用戶ID Topic_IDlong 話題ID Topic_Contenttext 話題內(nèi)容 Topic_Timeint 話題發(fā)表的時(shí)間Topic_Nametext 話題發(fā)布者的名字Topic_Phototext 話題發(fā)布者的頭像屬性類型描述 _idint Android系統(tǒng)主鍵 UIDlong 私信發(fā)送者的用戶ID PrivateLetter_UIDlong 私信接收
9、者UID PrivateLetter_IDlong 私信ID PrivateLetter_Contenttext 私信內(nèi)容 PrivateLetter_Timeint 私信發(fā)送的時(shí)間 PrivateLetter_Nametext 私信發(fā)送者的名字 PrivateLetter_Phototext 私信發(fā)送者的頭像 PrivateLetter_isSendboolean true發(fā)送,false接收15c、表名: Friend(好友信息)2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1屬性類型描述_idint Android系統(tǒng)主鍵UIDlong 所屬用戶ID Friend_IDlong 好友IDFriend_Na
10、metext 好友名字Friend_Phototext 好友頭像 Friend_Mobiletext 好友電話號(hào)碼 Friend_Sextext 好友性別 Friend_Stateint 好友的狀態(tài)163、網(wǎng)絡(luò)接口設(shè)計(jì)請(qǐng)求參數(shù)。 本案例將采用JSON格式進(jìn)行傳輸,基本參數(shù)包括用戶名、密碼和請(qǐng)求數(shù)據(jù)。其中請(qǐng)求數(shù)據(jù)有:隨機(jī)字符串、請(qǐng)求類型、請(qǐng)求參數(shù)。請(qǐng)求參數(shù)以數(shù)組形式傳遞。其數(shù)據(jù)格式如下:返回參數(shù)。 其數(shù)據(jù)格式如下: 請(qǐng)求參數(shù)和返回參數(shù)的requestType需一致。result的數(shù)字表示返回結(jié)果,1為成功,0為失敗。content中的內(nèi)容返回的是JSON格式的字符串。2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)
11、1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”“requestType”:“xxx”,“params”:“xxx”,“xxx”,“xxx”“result”:“xxx”,“requestType”:“xxx”,“content”: “xxx”,“xxx”,.,.17 本書大案例中會(huì)使用到的19種請(qǐng)求和返回參數(shù)的設(shè)計(jì),如下:登錄(Login) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“Login”,
12、“params”:“result”:“數(shù)字”“requestType”:“Login”“content”:用戶個(gè)人資料18注銷(Logout) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):注冊(cè)(Signin) 請(qǐng)求數(shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“Logout”,“params”:“result”:“數(shù)字”“requestType”:“ Logout”“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“req
13、uestType”:“Signin”,“params”:UID,姓名,密碼,手機(jī)號(hào),頭像,性別,地址19 返回?cái)?shù)據(jù):添加好友(AddFriend) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù)2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“result”:“數(shù)字”“requestType”:“ Signin”“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“AddFriend”,“params”:“好友ID,好友ID,.”“result”:“數(shù)字”“requestType”:“AddFriend”,“content”:20發(fā)表話題
14、(AddTopic) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):添加話題回復(fù)(AddTopicComment) 請(qǐng)求數(shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“AddTopic”,“params”:“話題內(nèi)容”,“話題發(fā)送時(shí)間”,“話題名字”,“話題包含的圖片”“result”:“數(shù)字”“requestType”:“AddTopic”,“content”:“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“A
15、ddTopicComment”,“params”:“話題ID”,“評(píng)論內(nèi)容”,“評(píng)論的圖片”,“評(píng)論時(shí)間”,“評(píng)論ID”21 返回?cái)?shù)據(jù):刪除好友(DeleteFriend) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù)2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“result”:“數(shù)字”“requestType”:“AddTopicComment”,“content”:“評(píng)論ID”“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“DeleteFriend”,“params”:好友ID“result”:“數(shù)字”“requestType”:“Delet
16、eFriend”,“content”:22刪除私信(DeletePrivateLetter) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):獲得所有好友(GetAllFriends) 請(qǐng)求數(shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“DeletePrivateLetter”,“params”:私信ID“result”:“數(shù)字”“requestType”:“DeletePrivateLetter”,“content”:“username”:“xxx”,“password”:“xxx”,“rando
17、mkey”:“xxx”,“requestType”:“ GetAllFriends”,“params”:23 返回?cái)?shù)據(jù): 2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“result”:“數(shù)字”“requestType”:“GetAllFriends”,“content”:“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile”:“xxx”“personPhoto”:“xxx”,“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile
18、”:“xxx”“personPhoto”:“xxx”.24獲得所有私信(GetAllPrivateLetter) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“GetAllPrivateLetter”,“params”:“result”:“數(shù)字”“requestType”:“GetAllPrivateLetter”,“content”:“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateL
19、etterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”,“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”.25獲得所有話題(GetAllTopi
20、c) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetAllTopic”,“params”:“result”:“數(shù)字”“requestType”:“ GetAllTopic”,“content”:“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”,“topicID”:“xxx”,“top
21、icUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”.26獲得所有刪除的好友(GetAllDeleteFriends) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):獲得所有新增加的好友(GetNewFriends) 請(qǐng)求數(shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetAllDeleteFriends”,“params”:“result”:“數(shù)字”“requestTy
22、pe”:“ GetAllDeleteFriends”,“content”:刪除好友的ID,刪除好友的ID,.“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetNewFriends”,“params”:27 返回?cái)?shù)據(jù):獲得所有新私信(GetNewPrivateLetter) 請(qǐng)求數(shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“result”:“數(shù)字”“requestType”:“ GetNewFriends”,“content”:新友的ID,新友的ID,.“username”:“xxx”,“password”:“x
23、xx”,“randomkey”:“xxx”,“requestType”:“ GetNewPrivateLetter”,“params”:28 返回?cái)?shù)據(jù): 2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“result”:“數(shù)字”“requestType”:“ GetNewPrivateLetter”,“content”:“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“p
24、rivateLetterUID”:“xxx”,“privateLetterIsSend”:“xxx”,“privateLetterID”:“xxx”,“privateLetterName”:“xxx”,“privateLetterContent”:“xxx”,“UID”:“xxx”,“privateLetterPhoto”:“xxx”,“privateLetterUID”:“xxx”.29獲得新話題(GetNewToipc) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“reques
25、tType”:“ GetNewTopic”,“params”:“result”:“數(shù)字”“requestType”:“ GetNewTopic”,“content”:“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”,“topicID”:“xxx”,“topicUID”:“xxx”,“topicContent”:“xxx”,“topicTime”:“xxx”,“topicName”:“xxx”,“topicPhoto”:“xxx”
26、.30獲得某用戶的資料(GetPersonInfo) 請(qǐng)求數(shù)據(jù): 返回?cái)?shù)據(jù):2.2.2 概要設(shè)計(jì)概要設(shè)計(jì)1“username”:“xxx”,“password”:“xxx”,“randomkey”:“xxx”,“requestType”:“ GetPersonInfo”,“params”:“result”:“數(shù)字”“requestType”:“ GetPersonInfo”,“content”:“personAddress”:“xxx”,“personName”:“xxx”,“personSex”:“xxx”,“personMobile”:“xxx”“personPhoto”:“xxx”31獲得某用戶的狀態(tài)(GetPersonStat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個(gè)人私人擔(dān)保合同
- 財(cái)務(wù)管理考試解題思路試題及答案
- 2025年環(huán)保型表面處理技術(shù)在環(huán)保清洗行業(yè)的應(yīng)用與效果報(bào)告
- 包裹派發(fā)合同協(xié)議書
- 地產(chǎn)安保合同協(xié)議書
- 司機(jī)扣分合同協(xié)議書
- 2025年農(nóng)村電商農(nóng)產(chǎn)品上行模式下的品牌合作策略與農(nóng)產(chǎn)品品牌形象塑造實(shí)踐案例報(bào)告
- 2025年中級(jí)會(huì)計(jì)實(shí)務(wù)考試知識(shí)架構(gòu)試題及答案
- 單位合同變更協(xié)議書
- 用戶反饋財(cái)務(wù)管理考試試題及答案
- 妊娠期鐵缺乏和缺鐵性貧血診治指南解讀課件
- 審計(jì)整改責(zé)任追究實(shí)施辦法
- 火力發(fā)電廠技術(shù)經(jīng)濟(jì)指標(biāo)計(jì)算方法
- 代可可脂巧克力作業(yè)指導(dǎo)書
- 急腹癥的診斷與鑒別課件
- -巴以沖突的歷史及現(xiàn)狀
- 專職安全員安全責(zé)任履職考核表
- 醫(yī)療機(jī)構(gòu)發(fā)生醫(yī)療民事賠償情況以及衛(wèi)生技術(shù)人員違法違規(guī)執(zhí)業(yè)及其處理情況表
- 設(shè)計(jì)變更、工程指令、現(xiàn)場簽證管理辦法(修訂)
- 【總平施工】室外總平施工組織設(shè)計(jì)
- 《鵝養(yǎng)殖技術(shù)》PPT課件
評(píng)論
0/150
提交評(píng)論