版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 畢業(yè)設(shè)計(jì)(論文)題目:基于Android系統(tǒng)的失物招領(lǐng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)要求及原始數(shù)據(jù)(資料):1.綜述生活中失物招領(lǐng)工作的現(xiàn)狀,說明該項(xiàng)目實(shí)現(xiàn)的意義;2.深入分析失物招領(lǐng)事務(wù)的業(yè)務(wù)邏輯劃分,證明項(xiàng)目的技術(shù)可行性;3.深入研究Android客戶端程序與后臺(tái)服務(wù)器進(jìn)行網(wǎng)絡(luò)通信的機(jī)制;4.熟練Android客戶端前端邏輯處理的設(shè)計(jì)和實(shí)現(xiàn);5
2、.掌握搭建服務(wù)器的關(guān)鍵技術(shù),學(xué)會(huì)搭建簡(jiǎn)單的后臺(tái)服務(wù)器;6.實(shí)現(xiàn)Android客戶端與后臺(tái)服務(wù)器交互完成業(yè)務(wù)處理;7.訓(xùn)練檢索文獻(xiàn)資料和利用文獻(xiàn)資料的能力;8. 訓(xùn)練撰寫技術(shù)文檔與學(xué)位論文的能力。</p><p> 畢業(yè)設(shè)計(jì)(論文)主要內(nèi)容:1.綜述線下失物招領(lǐng)工作普遍遇到的問題和困境;2.了解目前流行的服務(wù)器框架搭建的技術(shù);3.深入分析失物招領(lǐng)的業(yè)務(wù)邏輯,設(shè)計(jì)后臺(tái)數(shù)據(jù)庫;4.搭建后臺(tái)服務(wù)器,響應(yīng)客戶端的數(shù)據(jù)提交和
3、數(shù)據(jù)請(qǐng)求;5. 劃分Android客戶端的功能模塊,設(shè)計(jì)項(xiàng)目的實(shí)現(xiàn)框架;6.Android客戶端UI顯示和邏輯處理代碼的編寫;7.完成失物招領(lǐng)平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)。學(xué)生應(yīng)交出的設(shè)計(jì)文件(論文):1.內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設(shè)計(jì)論文;2.包括畢業(yè)設(shè)計(jì)論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設(shè)計(jì)電子文檔及其它相關(guān)材料。</p><p> 基于Android系統(tǒng)的失物招領(lǐng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)</p>&
4、lt;p><b> 摘 要</b></p><p> 基于Android系統(tǒng)的失物招領(lǐng)平臺(tái)是基于當(dāng)下各傳統(tǒng)失物招領(lǐng)平臺(tái)和一些網(wǎng)站型失物招領(lǐng)平臺(tái)的不足而建立的一個(gè)新興失物招領(lǐng)平臺(tái)。新平臺(tái)客戶端部署在Android手機(jī)端,實(shí)現(xiàn)真正的移動(dòng)失物招領(lǐng)。新平臺(tái)架構(gòu)采用Android客戶端、Web服務(wù)器和MySql數(shù)據(jù)庫架構(gòu),使信息交互不再依賴瀏覽器,手機(jī)應(yīng)用添加主流手勢(shì)解鎖、手勢(shì)登陸,操作更加
5、簡(jiǎn)便,并且信息交互界面更加友好、便捷。新平臺(tái)允許失主發(fā)布物品丟失信息、允許撿拾者發(fā)布見到物品信息,并且增加一鍵聯(lián)系失主/撿拾者功能,大大提高了失物招領(lǐng)的工作效率。新平臺(tái)更增加了“中國(guó)正能量”模塊,宣傳近期好人好事,弘揚(yáng)點(diǎn)滴正能量。</p><p> 關(guān)鍵詞: 失物招領(lǐng);Android系統(tǒng);平臺(tái);手勢(shì)解鎖;工作效率 </p><p> The Design and Realization
6、 of the Lost and Found based on Android platform</p><p><b> Abstracts</b></p><p> The Lost and Found software based on Android platform is a new solution which differ from the pres
7、ent various lost and found software and some sites of the lost and found. New software is deployed in the Android mobile terminal platform, realizes the real mobile lost and found. New platform has the Android client, We
8、b server and MySql database structure, make the information interaction is no longer dependent on the browser, mobile applications with mainstream gestures to unlock, gestures landin</p><p> Keywords: Lost
9、and Found; platform; Android; gesture landing; efficiency of operations</p><p><b> 目錄</b></p><p><b> 1. 緒論1</b></p><p> 1.1 選題來源及現(xiàn)實(shí)意義1</p><p&
10、gt; 1.2 失物招領(lǐng)平臺(tái)的現(xiàn)狀2</p><p> 1.3 選題的發(fā)展前景2</p><p> 2. 失物招領(lǐng)平臺(tái)的現(xiàn)狀與分析4</p><p> 2.1現(xiàn)有的失物招領(lǐng)平臺(tái)4</p><p> 2.2 對(duì)傳統(tǒng)平臺(tái)的分析4</p><p> 2.2.1 信息流不對(duì)稱4</p>&
11、lt;p> 2.2.2 運(yùn)營(yíng)成本高5</p><p> 2.2.3 服務(wù)范圍小,受眾面小5</p><p> 2.2.4 被動(dòng)接受信息,工作效率低5</p><p> 2.3 對(duì)線上平臺(tái)的分析5</p><p> 2.4 發(fā)現(xiàn)可利用資源6</p><p> 3. 可行性分析7</p&
12、gt;<p> 3.1 經(jīng)濟(jì)可行性7</p><p> 3.2 技術(shù)可行性7</p><p> 3.2.1 Android平臺(tái)的成熟性7</p><p> 3.2.2平臺(tái)架構(gòu)的可行性9</p><p> 3.2.3Android技術(shù)點(diǎn)的可行性9</p><p> 3.3 時(shí)間可行性
13、14</p><p> 3.4 社會(huì)可行性14</p><p> 4. 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)15</p><p> 4.1 系統(tǒng)綜述15</p><p> 4.2 平臺(tái)整體架構(gòu)15</p><p> 5. Android客戶端設(shè)計(jì)與實(shí)現(xiàn)17</p><p> 5.1 Androi
14、d客戶端模塊劃分17</p><p> 5.2 登陸注冊(cè)模塊17</p><p> 5.2.1注冊(cè)模塊18</p><p> 5.2.2登陸模塊19</p><p> 5.3 設(shè)置模塊19</p><p> 5.3.1 手勢(shì)管理模塊20</p><p> 5.3.2登錄密
15、碼管理20</p><p> 5.4 找回物品模塊23</p><p> 5.5 撿到物品模塊23</p><p> 5.6 正能量模塊23</p><p> 6.數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)24</p><p> 6.1 數(shù)據(jù)庫概述24</p><p> 6.2 數(shù)據(jù)庫表結(jié)構(gòu)25
16、</p><p> 7.服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)27</p><p> 7.1密碼部分27</p><p> 7.2 個(gè)人信息30</p><p> 7.3 查詢物品31</p><p><b> 7.4 新聞33</b></p><p> 8. 功能測(cè)試
17、35</p><p> 8.1登陸注冊(cè)模塊測(cè)試35</p><p> 8.2失物招領(lǐng)模塊測(cè)試38</p><p> 8.3正能量模塊測(cè)試39</p><p> 8.4我的設(shè)置模塊測(cè)試40</p><p> 8.4.1個(gè)人信息40</p><p> 8.4.2手勢(shì)測(cè)試40&
18、lt;/p><p> 8.4.3密碼修改測(cè)試42</p><p><b> 9. 總結(jié)44</b></p><p><b> 參考文獻(xiàn)46</b></p><p><b> 致 謝47</b></p><p><b> 外文翻譯
19、48</b></p><p><b> 外文原文48</b></p><p><b> 中文翻譯51</b></p><p><b> 1 緒論</b></p><p> 1.1 選題來源及現(xiàn)實(shí)意義</p><p> 隨著
20、我國(guó)社會(huì)經(jīng)濟(jì)的不斷發(fā)展,人們的生活節(jié)奏也在不斷加快,加之現(xiàn)在生活中越來越多的物件小型化,我們不免會(huì)偶爾疏忽而遺忘物品。生活中誰沒有丟東西的經(jīng)歷呢?就體積而言,大到雨傘、書包、行李箱、各類書籍,小至銀行卡,鑰匙,身份證,眼鏡、錢夾等等。雨傘可以買,銀行卡可以掛失補(bǔ)辦,鑰匙可以重新配;書丟了可以買新的,但是以前的筆記是買不到的,身份證一時(shí)半會(huì)都補(bǔ)辦不下來,尤其是人在外地時(shí)更是麻煩!遇到這種情況怎么辦呢?</p><p&g
21、t; 生活中我們也會(huì)偶然撿到別人遺失的物品,撿到的東西該怎么處理呢?撿到工作證、學(xué)生證,上邊有單位信息可以很方便地聯(lián)系;但身份證上的信息聯(lián)系起來代價(jià)太大,難以聯(lián)系;如果撿到的是雨傘、書籍,連個(gè)聯(lián)系的人都沒有;撿到鑰匙不知道該還給誰或是交給誰,而失主還焦頭爛額地發(fā)愁進(jìn)不了家門;撿到銀行卡就只能交給發(fā)卡行了,但是實(shí)際上丟銀行卡的人到銀行補(bǔ)辦銀行卡時(shí)幾乎不會(huì)有機(jī)會(huì)找到丟失的卡... ...</p><p> 以上種
22、種丟失物品或是撿到物品的情況在我們?nèi)粘I钪蓄l繁的出現(xiàn),丟東西的人著急著急找失物像大海撈針,而撿到東西的人有心尋找失主卻無從找起!那么怎么能減少這種情況——讓失主知道誰撿了自己丟的物品,讓撿到東西的人知道怎么聯(lián)系失主呢?</p><p> 加之智能手機(jī)普及以及移動(dòng)互聯(lián)網(wǎng)的發(fā)展,幾乎每個(gè)人至少有一部以上的智能手機(jī)。這一部部智能手機(jī)將世界上一個(gè)個(gè)游離的個(gè)體人,不管距離多遠(yuǎn),不管何種語言,連接成為一個(gè)整體。智能手機(jī)將
23、我們的世界縮小到一部手機(jī)上,通過一塊幾英寸的屏幕將形形色色的數(shù)據(jù)以光速傳播著。人們可以隨時(shí)隨地通過手中接入互聯(lián)網(wǎng)的智能手機(jī)來獲取各種信息,并可以發(fā)布自己獨(dú)有的信息。而在智能手機(jī)領(lǐng)域,Android手機(jī)占有很大的市場(chǎng)份額。</p><p> 基于對(duì)以上這些情況的考慮,我們可以在手機(jī)上安裝一個(gè)專門用來進(jìn)行發(fā)布失物找回和尋找失主信息的軟件,搭建一個(gè)在線的失物招領(lǐng)平臺(tái),將失主和失物的信息進(jìn)行采集發(fā)布,極大地?cái)U(kuò)展雙方的信
24、息溝通渠道,減少失物招領(lǐng)的精力花費(fèi)、時(shí)間代價(jià)和經(jīng)濟(jì)代價(jià),從而提高生活品質(zhì)。由于只是局限性,本次選定Android手機(jī)作為開發(fā)平臺(tái),來完成“失物招領(lǐng)平臺(tái)”的搭建。</p><p> 1.2 失物招領(lǐng)平臺(tái)的現(xiàn)狀</p><p> 現(xiàn)階段的失物招領(lǐng)平臺(tái)主要是這樣一種組織運(yùn)作方式——有一個(gè)實(shí)體的運(yùn)維部門(或是政府機(jī)構(gòu),或是企事業(yè)單位如鐵路航空,或是民間團(tuán)體,也有盈利性公司)作為主體,被動(dòng)的接
25、收失物信息(當(dāng)有人撿到丟失物并且愿意花時(shí)間精力歸還時(shí)才對(duì)交給它),并由工作人員人工錄入失物信息,進(jìn)行分類(有的也不分類)保管,然后在一個(gè)特定的信息發(fā)布平臺(tái)發(fā)布失物招領(lǐng)信息,等待失主有機(jī)會(huì)看到這些信息后來聯(lián)系,最終完成這個(gè)失物找回的流程。</p><p> 這些平臺(tái)很多都是線下的運(yùn)行,像一些社區(qū)的失物招領(lǐng)處,特別是中國(guó)鐵路竟然沒有一個(gè)成熟的失物招領(lǐng)平臺(tái),中國(guó)鐵路各大車站每日客流量達(dá)幾萬到十幾萬,即使有萬分之一的乘
26、客丟失了行李,各大車站加起來也是一個(gè)很龐大的數(shù)據(jù)!</p><p> 這些平臺(tái)幾乎都是區(qū)域性的,只服務(wù)周邊的社區(qū)、城市。如果你不幸到另一個(gè)城市然后丟了物品,那么這幾乎就不可能找回了。</p><p> 綜上所述,現(xiàn)階段還沒有一個(gè)服務(wù)范圍廣,信息在線收集、在線發(fā)布并且為廣大群眾所熟知的失物招領(lǐng)平臺(tái)。在移動(dòng)互聯(lián)網(wǎng)高度發(fā)展的今天,失物招領(lǐng)仍然是阻礙和諧社會(huì)發(fā)展的一塊絆腳石。</p>
27、;<p> 1.3 選題的發(fā)展前景</p><p> 生活中,每個(gè)人都會(huì)由于一時(shí)疏忽大意而丟失遺落物品,價(jià)值和使用價(jià)值有大有小,但不管價(jià)值大小,在你發(fā)現(xiàn)物品遺失而正要好要用到時(shí),每個(gè)人都會(huì)焦慮不安而又到處找不到,大大影響了一段時(shí)間的心情和工作效率,影響了生活品質(zhì)。在沒有一個(gè)完善的失物招領(lǐng)平臺(tái)的支持下,幾乎丟了東西找不回來已經(jīng)是一個(gè)“常識(shí)”,而能找回來就成為了一件幸事。</p>&
28、lt;p> 我國(guó)正在大力倡導(dǎo)建設(shè)社會(huì)主義和諧社會(huì),全面提高國(guó)民素質(zhì),怎么能讓這么一個(gè)問題成為一塊絆腳石呢?</p><p> 運(yùn)行于Android手機(jī)端的失物招領(lǐng)APP有可能將每一個(gè)使用Android手機(jī)的用戶連接到我們的失物招領(lǐng)平臺(tái),讓每個(gè)人都成為一個(gè)失物招領(lǐng)的一個(gè)主體和子結(jié)點(diǎn),讓每個(gè)人都成為失物招領(lǐng)平臺(tái)的受益者和工作者。</p><p> 本選題旨在搬除這一塊絆腳石,要讓大
29、家意識(shí)到,丟了的東西是有可能找回來的,是有專門的軟件幫助你找回來的!而且這個(gè)軟件有一個(gè)龐大的用戶群,你的憂慮可能只是別人動(dòng)動(dòng)手指就能幫你解決的事情。當(dāng)你被人幫助,我相信下一次你撿到東西會(huì)很樂意動(dòng)動(dòng)手指來幫助別人,我們要讓每個(gè)人切實(shí)感受到和諧社會(huì)的微暖,共同為和諧社會(huì)的建設(shè)添磚加瓦!</p><p> 我們要在本APP的使用過程中培養(yǎng)用戶的習(xí)慣并改變用戶的認(rèn)知,讓大家相信這是一款實(shí)用好用的應(yīng)用,就像地圖導(dǎo)航軟件一
30、樣,裝一個(gè)在手機(jī)里唄,萬一啥時(shí)候不知道路就可以用。讓大家改變過去的意識(shí),相信丟失的東西是可以找回來的,動(dòng)動(dòng)手指,你我都可以為和諧社會(huì)出一份力!一起分享身邊的故事,身邊的感動(dòng),傳遞社會(huì)正能量,凈化社會(huì)風(fēng)氣,共建文明城市,和諧社會(huì)。</p><p> 2 失物招領(lǐng)平臺(tái)的現(xiàn)狀與分析</p><p> 2.1 現(xiàn)有的失物招領(lǐng)平臺(tái)</p><p> 現(xiàn)階段的失物招領(lǐng)
31、平臺(tái)還不是很成熟,總結(jié)起來主要有以下一些,按照不同的分類指標(biāo)可以分為不同模式的平臺(tái)。</p><p> (一)按照平臺(tái)運(yùn)行模式可以分為以下兩種:</p><p><b> 傳統(tǒng)的失物招領(lǐng)平臺(tái)</b></p><p> 傳統(tǒng)的失物招領(lǐng)平臺(tái)即線下運(yùn)行的平臺(tái),都是人工操作,對(duì)失物收集分類、撿還者的信息登記、失主來找信息的登記分類都是線下操作,或
32、者是手工登記,或是電腦錄入,但是這些信息都是本地保存,不上傳互聯(lián)網(wǎng)。</p><p> 小范圍的線上失物招領(lǐng)平臺(tái)</p><p> 這種平臺(tái)是傳統(tǒng)平臺(tái)接入互聯(lián)網(wǎng)的產(chǎn)物,相對(duì)與傳統(tǒng)平臺(tái)來講有了很大的進(jìn)步,將各方信息由系統(tǒng)管理員(工作人員)電腦錄入,并發(fā)布在一個(gè)特定的信息平臺(tái),用戶可以接入互聯(lián)網(wǎng)查看相關(guān)信息,但是服務(wù)范圍小。</p><p> ?。ǘ┌凑掌脚_(tái)性質(zhì)及
33、組織方式分為以下三種:</p><p> 政府服務(wù)部門或是企事業(yè)單位的失物招領(lǐng)平臺(tái),如上海失物招領(lǐng)服務(wù)平臺(tái)</p><p> 公益性的失物招領(lǐng)平臺(tái),如大連失物招領(lǐng)網(wǎng)</p><p> 營(yíng)利性的失物招領(lǐng)公司,如南昌復(fù)失德商務(wù)信息咨詢有限公司</p><p> 2.2 對(duì)傳統(tǒng)平臺(tái)的分析</p><p> 傳統(tǒng)的
34、失物招領(lǐng)平臺(tái)理論上只能服務(wù)于一個(gè)很小的區(qū)域,如臨近的幾個(gè)社區(qū),或是一個(gè)城市的某個(gè)部門,如xx市公交公司的失物招領(lǐng)處等。這些平臺(tái)存在很明顯的缺陷和不足:</p><p> 2.2.1 信息流不對(duì)稱</p><p> 傳統(tǒng)平臺(tái)只能依靠人力來完成信息的收集處理,信息發(fā)布沒有一個(gè)可見性廣的平臺(tái),造成了失物招領(lǐng)工作中信息流的即為不對(duì)稱性,結(jié)果是很多失主根本不知道自己的物品已經(jīng)被撿到,還在到處尋
35、找無果,最后放棄找回;很多失物在等待失主來找時(shí)根本不知道失主正在到處尋找,以為失主不要了,最后長(zhǎng)期滯留無法處理,需要更多的人力,地方來管理和存儲(chǔ);最后無奈銷毀又造成資源的極大浪費(fèi)。</p><p> 2.2.2 運(yùn)營(yíng)成本高</p><p> 傳統(tǒng)平臺(tái)的日常運(yùn)維需要大量工作人員完成物品信息的收集登記、撿拾者信息的登記、物品的分類保管、失主的來訪接待、失主信息登記、失物與失主信息的匹配、
36、以及撿拾者與失主雙方接洽事宜的處理等等一系列工作,在信息互聯(lián)網(wǎng)高度發(fā)達(dá)的今天這些人力成本成為這個(gè)平臺(tái)運(yùn)維成本的最大支出。</p><p> 2.2.3 服務(wù)范圍小,受眾面小</p><p> 從服務(wù)的地域范圍來講,這些平臺(tái)幾乎都是區(qū)域性的,都是以一個(gè)城市,再小就是一個(gè)社區(qū)為服務(wù)單位,某些營(yíng)利性公司可能拓展到周邊的幾個(gè)城市,但這相對(duì)于一個(gè)國(guó)家來說還是太小太微不足道了。如此小的受眾面,在
37、當(dāng)今人們活動(dòng)范圍極大拓展的今天其實(shí)是起不到什么實(shí)際作用的(不排除會(huì)有一些人還是會(huì)通過此途徑找回失物,此處是相對(duì)選題進(jìn)行比較)。</p><p> 2.2.4 被動(dòng)接受信息,工作效率低</p><p> 傳統(tǒng)的失物招領(lǐng)平臺(tái)都是被動(dòng)地接收信息,只能等著撿拾者自己來上門登記撿到什么什么等信息,等著失主上門來找尋物品(且不論失主是否相信撿到東西的人會(huì)歸還,不論失主是否知道有這么個(gè)失物招領(lǐng)處)
38、。而且各項(xiàng)工作流程都是人工完成,會(huì)導(dǎo)致工作效率底下,讓群眾不再對(duì)這項(xiàng)工作抱有期望。</p><p> 2.3 對(duì)線上平臺(tái)的分析</p><p> 現(xiàn)在的一些線上的失物招領(lǐng)平臺(tái)已經(jīng)有了一些起色,改善了傳統(tǒng)平臺(tái)的一些弊端,采用電子化辦公大提高了信息收集管理的效率和人力成本;并通過互聯(lián)網(wǎng)將相關(guān)信息發(fā)布在一個(gè)特定的平臺(tái)上使得信息的傳播范圍極大拓展,使平臺(tái)的受眾面極大拓展;更重要的是允許注冊(cè)用
39、戶自主發(fā)布丟失和招領(lǐng)信息,將無線的潛在用戶變?yōu)檫@一工作的有力支持者。但是還是存在幾個(gè)問題:</p><p> 平臺(tái)認(rèn)知度低,沒有吸引力。對(duì)于失物招領(lǐng)平臺(tái),大家的普遍反映都是,“肯定是誰丟了東西采取上邊找找有沒有自己的東西被撿到”。如果都是這樣的想法,那么這個(gè)平臺(tái)可以說是一個(gè)失敗的平臺(tái),因?yàn)橹挥姓业臎]有招領(lǐng)的,一條腿走路怎么能走得遠(yuǎn)呢?這樣的平臺(tái)能起到什么在作用呢?</p><p> 平
40、臺(tái)缺乏有效監(jiān)管。以上海失物招領(lǐng)服務(wù)平臺(tái)為例(只知道這個(gè)),儼然成了一個(gè)分成兩類的貼吧,一個(gè)找東西,一個(gè)找失主。甚至有人借機(jī)發(fā)布不實(shí)信息,留下廣告或詐騙的電話,造成了即為不良的影響,一個(gè)本來造福民眾的平臺(tái)上竟然會(huì)有廣告甚至詐騙電話。</p><p> 平臺(tái)便捷性不足?,F(xiàn)在的失物招領(lǐng)平臺(tái)都是一個(gè)個(gè)網(wǎng)站,用手機(jī)瀏覽器查看起來很不方便并且耗費(fèi)大量流量費(fèi);而用電腦查看卻不如手機(jī)方便,不如手機(jī)能方便隨身攜帶,隨時(shí)打開。這也
41、給平臺(tái)的進(jìn)一步發(fā)展造成困擾。</p><p> 仍然脫離不了地域的限制,仍是“xx市失物招領(lǐng)平臺(tái)”,沒有將互聯(lián)網(wǎng)的優(yōu)勢(shì)充分利用。</p><p> 2.4 發(fā)現(xiàn)可利用資源</p><p> ?。?)積極向上的社會(huì)意識(shí)。借著我國(guó)正在大力建設(shè)社會(huì)主義和諧社會(huì),弘揚(yáng)中國(guó)正能量的春風(fēng),我們可以將我們的產(chǎn)品推出來,率先倡導(dǎo)拾金不昧的優(yōu)良傳統(tǒng),引導(dǎo)民眾意識(shí)。</p&
42、gt;<p> (2)便捷而廣泛的智能手機(jī)平臺(tái)。失物招領(lǐng)平臺(tái)的發(fā)展前進(jìn),可以借助智能手機(jī)普及的契機(jī),將平臺(tái)無限延伸,部署到每一臺(tái)智能手機(jī)終端,通過移動(dòng)互聯(lián)網(wǎng)搭建一個(gè)覆蓋整個(gè)網(wǎng)絡(luò)的失物招領(lǐng)平臺(tái),讓沒一部智能手機(jī)都成為這個(gè)平臺(tái)的一個(gè)節(jié)點(diǎn),集結(jié)每個(gè)人的能量,讓中國(guó)正能量在每個(gè)人之間激蕩回旋。</p><p> ?。?)手機(jī)號(hào)碼的身份驗(yàn)證?,F(xiàn)在的手機(jī)號(hào)都是實(shí)名辦理的(不包括非法辦理的黑戶號(hào)碼,這本身就是違
43、法的),我們的賬戶可以只允許手機(jī)號(hào)注冊(cè),一定程度可以避免很多用戶發(fā)布不實(shí)消息。</p><p> (4)信用機(jī)制的不斷成熟。我們可以加入一個(gè)等級(jí)成長(zhǎng)系統(tǒng),用來記錄用戶幫助他人的次數(shù),這樣的成長(zhǎng)機(jī)制能夠吸引用戶奉獻(xiàn)愛心,營(yíng)造一個(gè)不斷向上的社會(huì)意識(shí)。</p><p><b> 3 可行性分析</b></p><p> 3.1 經(jīng)濟(jì)可行性&
44、lt;/p><p> 本課題只為考察基于移動(dòng)互聯(lián)網(wǎng)、基于Android手機(jī)的失物招領(lǐng)平臺(tái)的可操作性,為平臺(tái)的正式開發(fā)奠定基礎(chǔ),不考慮經(jīng)濟(jì)市場(chǎng)因素,故而不必討論本軟件的經(jīng)濟(jì)可行性。而且從長(zhǎng)遠(yuǎn)利益出發(fā),此類生活軟件的總和效益必然產(chǎn)生巨大的經(jīng)濟(jì)效益。</p><p> 3.2 技術(shù)可行性</p><p> 3.2.1 Android平臺(tái)的成熟性</p>
45、<p> Android系統(tǒng)原來的公司名字就叫做Android。Andy Rubin創(chuàng)立了兩個(gè)手機(jī)操作系統(tǒng)公司:Danger和Android。谷歌公司在2005收購(gòu)了這個(gè)僅成立22月的高科技企業(yè)Android。Android系統(tǒng)也開始由谷歌接手研發(fā),Android系統(tǒng)的負(fù) 責(zé)人以及Android公司的CEO安迪·魯賓成為谷歌公司的工程部副總裁,繼續(xù)負(fù)責(zé)Android項(xiàng)目的研發(fā)工作。 在2007年11月5日這天,谷
46、歌公司正式向外接展示了這款名為Android的操作系統(tǒng)。并且在這天谷歌宣布建立一個(gè)全球性的聯(lián)盟組織,該組織由34家 手機(jī)制造商、軟件開發(fā)商、電信運(yùn)營(yíng)商以及芯片制造商共同組成。這一聯(lián)盟將支持谷歌發(fā)布的手機(jī)操作系統(tǒng)以及應(yīng)用軟件,將共同開發(fā)Android系統(tǒng)的開放源代碼。</p><p> Android系統(tǒng)框架和上層應(yīng)用是類java(不是正統(tǒng)的sun java)開發(fā)的,實(shí)現(xiàn)了自己的java虛擬機(jī)dalvik,在基本
47、主流的智能手機(jī)的軟件平臺(tái)上,android的執(zhí)行速度是最快的。 </p><p> 1、資源文件的優(yōu)化讀取。用xml文件來描述UI,這樣有個(gè)好處是只要修改UI不用修改代碼就可以修改界面的布局、顯示風(fēng)格和字體大小等。界面定義變得靈活方便。xml配置UI在qtopia運(yùn)用也有但是這么強(qiáng)大并且也不廣泛,因?yàn)閤ml文件有個(gè)不足是解析xml的效率很低。但是Android在編譯的時(shí)候就把xml文件進(jìn)行了優(yōu)化,android
48、應(yīng)用程序在解析時(shí)變得非常的高效。我們看到apk文件解壓后會(huì)有個(gè)優(yōu)化過的資源文件。 </p><p> 2、安裝時(shí)進(jìn)行優(yōu)化dex文件。Android的應(yīng)用程序都打包成一個(gè)apk文件,實(shí)際上就是一個(gè)zip文件。系統(tǒng)第一次起來或應(yīng)用程序第一次安裝時(shí),系統(tǒng)就把a(bǔ)pk文件解壓了,把可執(zhí)行文件dex優(yōu)化成odex文件并放在/data/dalvik-cache目錄下。優(yōu)化后的dex文件啟動(dòng)速度會(huì)加快。這解釋了為什么 andr
49、oid系統(tǒng)第一次啟動(dòng)是比較慢,以后起來很快了。 </p><p> 3、制作數(shù)據(jù)庫 。Android的圖形應(yīng)用是加載整個(gè)sd卡內(nèi)的所有圖像的,但是為什么很快呢?其實(shí)android提前把數(shù)據(jù)做成了數(shù)據(jù)庫,所以不用每次掃描整個(gè)這個(gè)sd卡,大大加快了啟動(dòng)速度。 </p><p> 4、高效的虛擬機(jī)。Android是基于類java虛擬機(jī)dalvik,一般的java虛擬機(jī)是基于棧的,而dalvi
50、k是基于寄存器的。實(shí)事求是說我對(duì)兩者的區(qū)別了解不是很深入,不過網(wǎng)上有專門的相關(guān)文論進(jìn)行分析。我的簡(jiǎn)單理解是棧的實(shí)現(xiàn)方式相對(duì)容易,相關(guān)數(shù)據(jù)是在內(nèi)存中的棧里,而操作寄存器里數(shù)據(jù)的速度明顯快與內(nèi)存里的數(shù)據(jù)處理。 </p><p> 5、充分挖掘CPU的性能。Android剛出來的時(shí)候雖然支持arm cpu,實(shí)際上只支持armv5te的指令集的,因?yàn)閍ndroid系統(tǒng)專門為armv5te 進(jìn)行了優(yōu)化,充分利用armv5
51、te的執(zhí)行流水線來提高執(zhí)行的效率,這也是在500M的三星2440運(yùn)行效果不是很好,而在200M的omap cpu上運(yùn)行比較流暢的原因了,所以在最新的代碼中有專門針對(duì)x86和armv4的優(yōu)化部分。 </p><p> 6、優(yōu)化和裁剪的libc庫。Libc庫幾乎是所以庫和程序的基礎(chǔ),但是android沒有直接利用libc庫,而是自己開發(fā)了一個(gè)庫:bionic,它實(shí)現(xiàn)了libc庫的絕大多數(shù)的函數(shù)并根據(jù)平臺(tái)進(jìn)行了優(yōu)化,
52、但是有系統(tǒng)很少用并且消耗資源的少數(shù)函數(shù)是不支持的。它只有幾百k,節(jié)省了空間同時(shí)也提高了執(zhí)行效率。實(shí)際上體現(xiàn)了 2-8原則,抓住少數(shù)重要的適當(dāng)舍棄不必要的。 </p><p> 7、充分利用linux系統(tǒng)特性。分析過linux內(nèi)核的朋友知道,linux fork一個(gè)新的進(jìn)程是非常高效的,利用了COW機(jī)制。Android是每個(gè)進(jìn)程是個(gè)獨(dú)立的虛擬機(jī)(聽說這么設(shè)計(jì)是為安全考慮,某個(gè)時(shí)候進(jìn)程崩潰了不會(huì)影響這個(gè)系統(tǒng)和其他進(jìn)
53、程。)android里每個(gè)進(jìn)程都是基于虛擬機(jī)的,并且也要加載基本的庫,實(shí)際上這些都是共享。所以android啟動(dòng)一個(gè)新的程序?qū)嶋H上并不消耗很多的內(nèi)存和CPU資源。同時(shí)android在后臺(tái)有個(gè)empty process運(yùn)行,實(shí)際上就是運(yùn)行一個(gè)虛擬機(jī),當(dāng)要啟動(dòng)一個(gè)應(yīng)用時(shí)就直接在其上繼續(xù)運(yùn)行,qtopia也有這個(gè)機(jī)制。 </p><p> 8、高效的paint機(jī)制。這個(gè)特性可能跟啟動(dòng)關(guān)系不大,但是也是android高
54、效的特性之一。界面變化時(shí)大部分實(shí)際上不是全屏內(nèi)容變化的,只是局部變化,android 會(huì)根據(jù)變化的內(nèi)容只是跟新局部的內(nèi)容,也提高了效率。這個(gè)也提醒我們?cè)陂_發(fā)應(yīng)用程序時(shí),重載paint方法時(shí)盡量不要paint全屏內(nèi)容。</p><p> 3.2.2 平臺(tái)架構(gòu)的可行性</p><p> Android客戶端與服務(wù)器、數(shù)據(jù)庫的信息交換模型如下(圖3-1平臺(tái)架構(gòu)模型):</p>
55、<p> 圖3-1 平臺(tái)架構(gòu)模型</p><p> Android客戶端與服務(wù)器之間采用http請(qǐng)求進(jìn)行交互,可以通過移動(dòng)互聯(lián)網(wǎng),也可以使WIFI網(wǎng)絡(luò),服務(wù)器返回給客戶端信息以JSON格式進(jìn)行封裝,客戶端接收到服務(wù)器返回信息之后進(jìn)行解析,根據(jù)解析結(jié)果將信息呈獻(xiàn)給用戶;服務(wù)器采用Structs2框架,數(shù)據(jù)庫用MySql數(shù)據(jù)庫,服務(wù)器與數(shù)據(jù)庫通過JDBC連接,進(jìn)行數(shù)據(jù)操作。</p>&l
56、t;p> 3.2.3 Android技術(shù)點(diǎn)的可行性</p><p> (1)Android本地?cái)?shù)據(jù)存儲(chǔ)</p><p> Android本地?cái)?shù)據(jù)存儲(chǔ)常用5中方式:</p><p> 1. SharedPreferences方式</p><p> SharedPreferences是用來存儲(chǔ)一些Key/Value類似的成對(duì)的基
57、本數(shù)據(jù)類型,注意,它只能存儲(chǔ)基本數(shù)據(jù)類型,也即int, long, boolean, String, float。事實(shí)上它完全相當(dāng)于一個(gè)HashMap,唯一不同的就是HashMap中的Value可以是任何對(duì)象,而SharedPreferences中的值只能存儲(chǔ)基本數(shù)據(jù)類型(primitive types);</p><p> 2. Internal Storage內(nèi)部存儲(chǔ)空間</p><p&
58、gt; 手機(jī)內(nèi)置的存儲(chǔ)空間,稱為內(nèi)部存儲(chǔ),它是手機(jī)一旦出廠就無法改變,它也是手機(jī)的硬件指標(biāo)之一,通常來講手機(jī)內(nèi)置存儲(chǔ)空間越大意味著手機(jī)價(jià)格會(huì)越貴(很多地方把它稱為手機(jī)內(nèi)存,但我們做軟件的知道,這并不準(zhǔn)確,內(nèi)存是指手機(jī)運(yùn)行時(shí)存儲(chǔ)程序,數(shù)據(jù)和指令的地方;這里應(yīng)該是手機(jī)內(nèi)部存儲(chǔ)的簡(jiǎn)稱為內(nèi)存,而并非嚴(yán)格意義上的內(nèi)存)。內(nèi)部存儲(chǔ)空間十分有限,因而顯得可貴,所以我們要盡可能避免使用;另外,它也是系統(tǒng)本身和系統(tǒng)應(yīng)用程序主要的數(shù)據(jù)存儲(chǔ)所在地,一旦內(nèi)部
59、存儲(chǔ)空間耗盡,手機(jī)也就無法使用了。所以對(duì)于內(nèi)部存儲(chǔ)空間,我們要盡量避免使用。</p><p> 3. External Storage外部存儲(chǔ)空間</p><p> 與內(nèi)部存儲(chǔ)空間相對(duì),外部存儲(chǔ)空間是指手機(jī)出廠的時(shí)候不存在,用戶在使用時(shí)候可以自由添加的外部存儲(chǔ)介質(zhì)比如TS卡,SD卡等閃存儲(chǔ)介質(zhì)。這些閃存介質(zhì)由最初的空間小價(jià)格貴,到現(xiàn)在的大容量?jī)r(jià)格便宜,所以幾乎每個(gè)支持外部存儲(chǔ)的手機(jī)上面
60、都有大容量(大于等于2G)的閃存卡。</p><p> 4. SQLite Database數(shù)據(jù)庫</p><p> Android對(duì)數(shù)據(jù)庫的支持很好,它本身集成了SQLite數(shù)據(jù)庫,每個(gè)應(yīng)用都可以方便的使用它,或者更確切的說,Android完全依賴于SQLite數(shù)據(jù)庫,它所有的系統(tǒng)數(shù)據(jù)和用到的結(jié)構(gòu)化數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫中。</p><p><b>
61、它具有以下優(yōu)點(diǎn):</b></p><p> a. 效率出眾,這是無可否認(rèn)的;</p><p> b. 十分適合存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù);</p><p> c. 方便在不同的Activity,甚至不同的應(yīng)用之間傳遞數(shù)據(jù);</p><p> d. 由專門的ContentProvider來幫忙管理和維護(hù)數(shù)據(jù)庫;</p>&
62、lt;p> e. 可以方便的設(shè)置訪問權(quán)限,私有還是都可見;</p><p> f. 操作方便,使用標(biāo)準(zhǔn)的CRUDE語句(Android系統(tǒng)提供的數(shù)據(jù)庫操作函數(shù));</p><p> g. 良好的可移植性和通用性,用標(biāo)準(zhǔn)的SQL語句就能實(shí)現(xiàn)CRUDE;</p><p> Internet網(wǎng)絡(luò)</p><p> ?。?)Inten
63、t跳轉(zhuǎn)</p><p> Android系統(tǒng)四大核心組件——Activity、Service服務(wù)、Content Provider內(nèi)容提供者、BroadcastReceiver廣播接收器,這四種組件是獨(dú)立的,它們之間可以互相調(diào)用,協(xié)調(diào)工作,最終組成一個(gè)真正的Android應(yīng)用。Intent是四大組件之間信息傳輸,動(dòng)作調(diào)用的橋梁。Intent負(fù)責(zé)對(duì)應(yīng)用中一次操作的動(dòng)作、動(dòng)作涉及數(shù)據(jù)、附加數(shù)據(jù)進(jìn)行描述,Androi
64、d則根據(jù)此Intent的描述,負(fù)責(zé)找到對(duì)應(yīng)的組件,將 Intent傳遞給調(diào)用的組件,并完成組件的調(diào)用。因此,Intent在這里起著一個(gè)媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實(shí)現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。</p><p><b> ?。?)事件處理機(jī)制</b></p><p> Android系統(tǒng)提供兩種事件處理機(jī)制:</p><p&g
65、t; 1、基于監(jiān)聽的事件處理</p><p> 在事件監(jiān)聽的處理模型中,主要涉及如下三類對(duì)象:</p><p> A. Event Source(事件源):事件發(fā)生的場(chǎng)所,通常就是各個(gè)組件、例如按鈕、窗口、菜單等;</p><p> B. Event(事件):事件封裝了界面組件上發(fā)生的特定事情(通常就是一次用戶操作);</p><p>
66、; C. Event Listener(事件監(jiān)聽器):監(jiān)聽事件源所發(fā)生的事件,并對(duì)各種事件做出相應(yīng)的響應(yīng)。</p><p> 基于監(jiān)聽的事件處理方式流程如下(圖3-2基于監(jiān)聽的事件處理流程):</p><p> 圖3-2 基于監(jiān)聽的事件處理流程</p><p> 2.、基于回調(diào)的事件處理機(jī)制</p><p> 從代碼的實(shí)現(xiàn)的角度來看
67、,基于回調(diào)的事件處理模型更加簡(jiǎn)單。如果說事件監(jiān)聽制是一種委托式的事件處理,那么回調(diào)機(jī)制恰好與之相反:對(duì)于基于回調(diào)機(jī)制的事件處理模型來說,事件源與事件監(jiān)聽器是統(tǒng)一的。為了使用回調(diào)機(jī)制類處理GUI組件上所發(fā)生的事件,我們需要為該組件提供對(duì)應(yīng)的事件處理方法--而Java又是一種靜態(tài)語言,我們無法為某個(gè)對(duì)象動(dòng)態(tài)的添加方法,因此只能繼承GUI組件類,并重寫該組件類的事件處理方法來實(shí)現(xiàn)。</p><p> ?。?)ListV
68、iew下拉刷新</p><p> 通過對(duì)ListView添加了一個(gè)刷新layout作為header,在滾動(dòng)中時(shí)不斷改變header的高度和內(nèi)容并記錄一些狀態(tài),在用戶手指離開屏幕時(shí)根據(jù)狀態(tài)決定進(jìn)行刷新還是放棄刷新。</p><p> 主要是通過重寫ListView的onTouchEvent( )和OnScrollListener( )、onScroll( )、onScrollStateC
69、hanged( )函數(shù)實(shí)現(xiàn),刷新狀態(tài)共有四種,如下:</p><p> CLICK_TO_REFRESH 點(diǎn)擊刷新狀態(tài),為初始狀態(tài);</p><p> DROP_DOWN_TO_REFRESH 當(dāng)刷新layout高度低于一定范圍時(shí),為此狀態(tài);</p><p> RELEASE_TO_REFRESH 當(dāng)刷新layout高度高于一定范圍時(shí),為此狀態(tài);</p&
70、gt;<p> REFRESHING 刷新中時(shí),為此狀態(tài)</p><p> 通過對(duì)不同狀態(tài)加以判定,并在各自的監(jiān)聽方法中編寫各自對(duì)應(yīng)的觸發(fā)響應(yīng)方法,來實(shí)現(xiàn)類似于微信中下拉刷新列表的功能。</p><p> ?。?)Android手勢(shì)解鎖的實(shí)現(xiàn)</p><p><b> 圖3-3手勢(shì)界面</b></p><
71、p> 手勢(shì)密碼的實(shí)現(xiàn)思路如下:</p><p> A. 正上方的提示區(qū)域,用一個(gè)類來實(shí)現(xiàn),自定義view來繪制9個(gè)提示圖標(biāo);</p><p> B. 手勢(shì)密碼繪制區(qū)域,用一個(gè)類(GestureContentView.java)來實(shí)現(xiàn),它繼承自ViewGroup里面, 添加9個(gè)ImageView來表示圖標(biāo), 在onLayout()方法中設(shè)置它們的位置;</p>&l
72、t;p> C. 手勢(shì)路徑繪制, 用一個(gè)類(GestureDrawline.java)來實(shí)現(xiàn),復(fù)寫onTouchEvent()方法,在這個(gè)方法里面監(jiān)聽TouchEvent事件: </p><p> D. ACTION_DOWN、ACTION_MOVE、ACTION_UP事件,來繪制手勢(shì)連接不同點(diǎn)之間的路徑;</p><p> E. 9個(gè)點(diǎn)的對(duì)象,用一個(gè)類(GesturePoint
73、.java)來實(shí)現(xiàn),保存它的位置、狀態(tài)、背景圖片等相關(guān)信息,判斷用戶手指當(dāng)前的位置,取出當(dāng)前的位置去與那9個(gè)點(diǎn)中的每個(gè)點(diǎn)的位置進(jìn)行比較,如果用戶點(diǎn)的位置在某一個(gè)點(diǎn)之內(nèi),那么當(dāng)那個(gè)點(diǎn)置換背景圖片;</p><p> F. 手勢(shì)密碼的獲取,判斷手指當(dāng)前的位置,根據(jù)滑動(dòng)路徑經(jīng)過的點(diǎn),按順序保存繪制的點(diǎn)的順序(這里的點(diǎn)順序從上到下分別是:1,2,3,4,5,6,7,8,9),不能有重復(fù)的點(diǎn)。</p>&l
74、t;p> ?。?)Android手機(jī)權(quán)限管理</p><p> Android手機(jī)的權(quán)限主要分為兩類:ROOT權(quán)限和應(yīng)用程序權(quán)限。ROOT權(quán)限是Android系統(tǒng)的最高權(quán)限,獲得root權(quán)限之后就意味著已經(jīng)獲得了手機(jī)的所有文件的最高權(quán)限,這時(shí)候你可以對(duì)手機(jī)中的任何文件(包括系統(tǒng)文件)執(zhí)行所有增、刪、改、查的操作;而應(yīng)用程序權(quán)限是手機(jī)在運(yùn)行一個(gè)特定的應(yīng)用程序時(shí),程序要使用手機(jī)系統(tǒng)資源時(shí)要用到的權(quán)限,一般為硬
75、件模塊的開啟和使用權(quán)限,如使用藍(lán)牙、使用WIFI,接入數(shù)據(jù)網(wǎng)、使用相機(jī),使用地理位置等等。</p><p> 在手機(jī)應(yīng)用開發(fā)中只用到應(yīng)用程序權(quán)限。如果應(yīng)用需要訪問通訊錄等功能,需要在程序的AndroidManifest.xml文件中添加<uses-permission…/>子元素即可為自身聲明權(quán)限。常用的權(quán)限如:</p><p> 使用藍(lán)牙功能——android.permi
76、ssion.BLUETOOTH</p><p> 使用地理位置信息——android.permission.ACCESS_FINE_LOCATION</p><p> 使用相機(jī)——android.permission.CAMERA</p><p> 打開通訊錄——android.permission.READ_CONTACTS</p><p
77、> 使用WIFI——android.permission.CHANGE_WIFI_STATE</p><p> 接入移動(dòng)網(wǎng)絡(luò)——android.permission.INTERNET</p><p> 讀寫文件——android.permission.WRITE_EXTERNAL_STORAGE</p><p> 和android.permission
78、.MOUNT_UNMOUNT_FILESYSTEMS</p><p> 3.3 時(shí)間可行性</p><p> 本課題設(shè)計(jì)利用本科畢業(yè)設(shè)計(jì)時(shí)間來實(shí)現(xiàn)平臺(tái)的設(shè)計(jì)、架構(gòu)和實(shí)現(xiàn)。</p><p> 現(xiàn)在智能手機(jī)軟件普遍采用敏捷開發(fā)模式進(jìn)行產(chǎn)品開發(fā),一個(gè)成熟的產(chǎn)品經(jīng)過幾個(gè)月的數(shù)次迭代完成最終的上線發(fā)布。本課題只是實(shí)現(xiàn)一個(gè)失物招領(lǐng)平臺(tái)的簡(jiǎn)單實(shí)現(xiàn),對(duì)性能沒有過高的要求,所
79、以在畢業(yè)設(shè)計(jì)期間完成是可以做得到的。</p><p> 3.4 社會(huì)可行性</p><p> 我過正在大力弘揚(yáng)中國(guó)正能量,創(chuàng)建和諧發(fā)展的社會(huì)氛圍。發(fā)現(xiàn)生活中的點(diǎn)滴感人事跡,一句溫馨提示,一個(gè)微笑致意,都在你我之間泛起一股暖流。</p><p> 本課題旨在為失主和撿到物品者之間搭建一座無障礙溝通的橋梁,讓失主有平臺(tái)發(fā)布自己丟失物品的信息,讓有愛心的撿拾者有平
80、臺(tái)幫助失主解決燃眉之急,讓人與人之間的互幫互助通過移動(dòng)互聯(lián)網(wǎng)產(chǎn)生更大的能量。在社會(huì)意識(shí)方面,是可行的,也是大家樂于接收,甚至是期盼已久的。</p><p> 4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 4.1 系統(tǒng)綜述</b></p><p> 本失物招領(lǐng)平臺(tái)用戶可見的部分有:使用前需要用戶用手機(jī)號(hào)注冊(cè),登錄系統(tǒng)后可以設(shè)置本地手勢(shì),
81、方便登陸系統(tǒng)。在登錄系統(tǒng)后,可以在“中國(guó)正能量”下瀏覽近期的推薦正能量,宣傳好人好事,點(diǎn)擊某一條簡(jiǎn)訊后可進(jìn)入相應(yīng)的資訊詳情頁;可以在“PICK(我撿到)”頁面瀏覽最近登記的丟失物品信息列表,在頁面上方可以點(diǎn)擊城市選擇、物品類型進(jìn)行更細(xì)致的篩選,點(diǎn)擊某一條記錄可進(jìn)入記錄詳情頁,點(diǎn)擊右上角“發(fā)布”可以發(fā)布自己撿到物品的信息,并會(huì)增加一條成長(zhǎng)值;在“LOST(我丟失)”頁面可以瀏覽最近被撿到的物品列表,頁面上方可以篩選,右上角“發(fā)布”可以發(fā)布
82、自己丟失物品的信息;在默認(rèn)首頁右上角有“我的設(shè)置圖標(biāo)”,點(diǎn)擊可以進(jìn)入設(shè)置頁面進(jìn)行相關(guān)信息的設(shè)置。</p><p> 用戶不可見部分包括服務(wù)器和數(shù)據(jù)庫。數(shù)據(jù)庫為用戶發(fā)布的信息和查找相關(guān)信息提供數(shù)據(jù)存儲(chǔ)和查詢,為“正能量”模塊的資訊提供數(shù)據(jù)源,登錄密碼的驗(yàn)證修改和找回提供數(shù)據(jù)支持,保存和修改用戶信息。而服務(wù)器作為Android客戶端發(fā)送請(qǐng)求、在數(shù)據(jù)庫查詢和插入數(shù)據(jù)、向客戶端返回特定數(shù)據(jù)的橋梁,為眾多的Android
83、端的失物招領(lǐng)APP提供內(nèi)容支持。</p><p> 4.2 平臺(tái)整體架構(gòu)</p><p> 如本章第一節(jié)系統(tǒng)概述所論述,該平臺(tái)整體架構(gòu)包括Android端失物招領(lǐng)APP、Web服務(wù)器和后臺(tái)數(shù)據(jù)庫三部分,APP安裝運(yùn)行于智能手機(jī)上,服務(wù)器軟件部署在服務(wù)器主機(jī)(本次以自己電腦作為服務(wù)器主機(jī))上,數(shù)據(jù)庫安裝在主機(jī)上,架構(gòu)如下(圖4-1平臺(tái)整體架構(gòu)圖):</p><p&g
84、t; 圖4-1 平臺(tái)整體架構(gòu)</p><p> Android手機(jī)上安裝的APP應(yīng)用作為客戶端,通過網(wǎng)絡(luò)接入Web服務(wù)器,向Web服務(wù)器發(fā)送各種請(qǐng)求。服務(wù)器接收到各個(gè)客戶端發(fā)來的網(wǎng)絡(luò)請(qǐng)求后,解析不同參數(shù)值,進(jìn)行響應(yīng)操作,如果需要數(shù)據(jù)庫數(shù)據(jù),則與數(shù)據(jù)可進(jìn)行增、刪、改、查的操作,之后將操作結(jié)果封裝成Json數(shù)據(jù)類型返回給客戶端,客戶端接收到服務(wù)器返回?cái)?shù)據(jù)庫后進(jìn)行解析,并呈現(xiàn)給用戶。</p><
85、p> 5 Android客戶端設(shè)計(jì)與實(shí)現(xiàn)</p><p> 5.1 Android客戶端模塊劃分</p><p> Android客戶端分為登陸注冊(cè)、個(gè)人設(shè)置、找回物品、撿到物品、正能量資訊五個(gè)模塊。各模塊包含各自的功能,如下圖所示(圖5-1Android客戶端模塊):</p><p> 圖5-1 Android客戶端模塊劃分</p>
86、<p> 5.2 登陸注冊(cè)模塊</p><p> 注冊(cè)登錄模塊時(shí)用戶第一次使用該應(yīng)用時(shí),需要用手機(jī)號(hào)在該平臺(tái)進(jìn)行注冊(cè),注冊(cè)完成后要設(shè)置安全郵箱賬號(hào)(必填項(xiàng),用于在忘記密碼時(shí)找回密碼),注冊(cè)完成后即進(jìn)入系統(tǒng)首頁,以后即可用該手機(jī)號(hào)和密碼登錄該平臺(tái)。</p><p> 在打開APP時(shí),首先出現(xiàn)歡迎界面,本界面持續(xù)1.5秒,在此期間系統(tǒng)完成初始化和配置參數(shù)讀取工作,然后進(jìn)入
87、“注冊(cè)登陸”模塊,流程圖如下(圖5-2登陸注冊(cè)流程圖):</p><p> 圖5-2 登陸注冊(cè)流程</p><p> 5.2.1 注冊(cè)模塊</p><p> 注冊(cè)模塊的流程圖如下(圖5-3):</p><p><b> 圖5-3 注冊(cè)流程</b></p><p> 在從服務(wù)器獲取驗(yàn)證碼
88、時(shí)需要查詢?cè)撌謾C(jī)號(hào)是否之前已經(jīng)注冊(cè)過,如果注冊(cè)過可以直接進(jìn)入登陸界面進(jìn)行登錄;如果沒有注冊(cè)過再發(fā)送注冊(cè)驗(yàn)證碼,進(jìn)而繼續(xù)進(jìn)行注冊(cè)流程的其他步驟。</p><p> 5.2.2 登陸模塊</p><p> 登陸模塊的流程圖如下(圖5-4登錄流程):</p><p> 圖5-4 登錄流程圖</p><p> 登陸模塊在進(jìn)行驗(yàn)證帳號(hào)密碼或者
89、手勢(shì)密碼的步驟前先要查詢本地緩存是否登陸過帳號(hào),如果有登陸過賬號(hào)并且該賬號(hào)已經(jīng)開啟手勢(shì)登陸功能,則進(jìn)入手勢(shì)登錄界面;否則進(jìn)入帳號(hào)密碼登錄界面,不同點(diǎn)是,如果上次有登陸過帳號(hào),則默認(rèn)已經(jīng)輸入上次登陸賬號(hào)的手機(jī)號(hào),用戶只用輸入密碼就可以,是為了給用戶更好的使用體驗(yàn)。</p><p><b> 5.3 設(shè)置模塊</b></p><p> 設(shè)置模塊入口在登錄后默認(rèn)首頁右
90、上角我的信息圖標(biāo),包括設(shè)置個(gè)人信息(編輯姓名、性別、年齡、常用地址等,查看本賬號(hào)手機(jī)號(hào)、愛心成長(zhǎng)等級(jí))、本地手勢(shì)登錄密碼管理(開啟和關(guān)閉手勢(shì)登錄、修改登錄手勢(shì)、忘記手勢(shì))、登錄密碼修改、我的朋友(通訊錄朋友)、應(yīng)用升級(jí)、退出當(dāng)前登陸賬號(hào)5個(gè)功能。</p><p> 5.3.1 手勢(shì)管理模塊</p><p> 手勢(shì)管理的流程圖如下(圖5-5手勢(shì)模塊流程):</p><
91、;p> 圖5-5 手勢(shì)模塊流程圖</p><p> 手勢(shì)密碼管理模塊的加入是借鑒當(dāng)前手機(jī)APP的流行做法,在減少用戶依賴鍵盤輸入密碼的同時(shí),能夠保證用戶信息的安全性。手勢(shì)管理設(shè)計(jì)上在用戶第一次安裝軟件注冊(cè)或者成功后彈出設(shè)置手勢(shì)密碼界面。此步驟可以跳過不設(shè),在以后的使用中在“設(shè)置——手勢(shì)密碼——手勢(shì)管理”中設(shè)置并開啟手勢(shì)密碼登錄功能。在手勢(shì)密碼修改功能下可以驗(yàn)證原手勢(shì)密碼并設(shè)置新的手勢(shì)密碼;若忘記原來的手
92、勢(shì)密碼可以點(diǎn)擊“忘記手勢(shì)”來用賬號(hào)密碼重新登錄,然后可以設(shè)置新的手勢(shì)密碼。</p><p> 5.3.2 登錄密碼管理</p><p> APP登錄密碼管理模塊包含兩個(gè)子模塊——A.密碼修改;B.密碼找回。</p><p> 密碼修改的流程圖如下(圖5-6):</p><p> 圖5-6 登錄密碼管理流程</p>&l
93、t;p> 密碼修改需要先驗(yàn)證原密碼,原密碼輸入正確后才能設(shè)置新密碼。新密碼設(shè)置成功后返回“我的”模塊,不用重新登錄。</p><p> 找回密碼的流程圖如下(圖5-7):</p><p> 圖5-7 密碼找回流程</p><p> 找回密碼觸發(fā)的事件有兩個(gè):</p><p> 在帳號(hào)密碼登錄界面點(diǎn)擊“忘記密碼”,進(jìn)入找回密碼流
94、程;</p><p> ?。?)之前用手勢(shì)密碼登錄進(jìn)入App,在密碼修改的驗(yàn)證原密碼界面點(diǎn)擊“忘記密碼”后進(jìn)入密碼找回流程。</p><p> ?。?)找回密碼時(shí),先輸入要找回密碼的帳號(hào),向服務(wù)器發(fā)送請(qǐng)求查看該帳號(hào)是否已注冊(cè),如未注冊(cè)則可以注冊(cè),或者是輸入的帳號(hào)不正確;若賬號(hào)已注冊(cè),則進(jìn)入下一步向服務(wù)器請(qǐng)求找回密碼的郵箱驗(yàn)證碼,輸入新密碼及驗(yàn)證碼,通過服務(wù)器驗(yàn)證后找回密碼成功。</p
95、><p> ?。?)找回密碼成功后跳入帳號(hào)密碼登陸界面,用新密碼登錄(不同于修改密碼成功,修改密碼成功后不需重新登錄,只要在下次用帳號(hào)密碼登錄功能使用新密碼即可)。</p><p> 5.4 找回物品模塊</p><p> 在找回丟失物品模塊,用戶可以發(fā)布自己的丟失物品信息,可以選擇城市、物品類別來瀏覽篩選條件下被撿到物品待認(rèn)領(lǐng)的信息,點(diǎn)擊某一條物品信息后會(huì)進(jìn)入物
96、品詳情頁,顯示被撿到物品的詳細(xì)信息以及發(fā)布該撿拾信息的熱心用戶的手機(jī)號(hào)和姓名(以用戶設(shè)置為準(zhǔn)),此時(shí)可以點(diǎn)擊短信圖標(biāo)給對(duì)方發(fā)信息或是點(diǎn)擊電話圖標(biāo)打電話給對(duì)方。</p><p> 5.5 撿到物品模塊</p><p> 在撿到物品模塊,用戶可以發(fā)布自己撿到物品的信息,可以選擇城市、物品類別來瀏覽特定篩選條件下的丟失物品列表。同樣地,點(diǎn)擊某一條物品信息后會(huì)進(jìn)入物品詳情頁,顯示他人丟失物品
97、的詳細(xì)信息以及發(fā)布該丟失物品信息的用戶的手機(jī)號(hào)和姓名(以用戶設(shè)置為準(zhǔn)),同樣有短信聯(lián)系和電話聯(lián)系兩種聯(lián)系方式可用于聯(lián)系該用戶。</p><p> 5.6 正能量模塊</p><p> “中國(guó)正能量”模塊位于登錄App首頁,用于展示中國(guó)正能量資訊列表(只顯示標(biāo)題和時(shí)間,由后臺(tái)數(shù)據(jù)庫維護(hù)者收集的正能量的點(diǎn)滴感人事跡),點(diǎn)擊某一項(xiàng)可進(jìn)入資訊詳情頁,展示該訊息的詳細(xì)情況。</p>
98、<p> 6 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)</p><p> 6.1 數(shù)據(jù)庫概述</p><p> 本平臺(tái)數(shù)據(jù)庫選用關(guān)系型數(shù)據(jù)庫,此處在演示階段采用MySql數(shù)據(jù)庫,數(shù)據(jù)表有用戶密碼表、用戶信息表、被撿到物品表、丟失物品表、物品詳情表、資訊列表共6張表。各表關(guān)系如下(圖6-1)所示:</p><p> 圖6-1 數(shù)據(jù)庫表關(guān)系</p>&l
99、t;p> 6.2 數(shù)據(jù)庫表結(jié)構(gòu)</p><p> 用戶密碼表,用來存儲(chǔ)注冊(cè)用戶的手機(jī)號(hào)、注冊(cè)成功后系統(tǒng)分配的ID號(hào)、密碼、安全郵箱帳號(hào),其中手機(jī)號(hào)作為主鍵,如下表6-1 table_user_password表。</p><p> 表6-1 table_user_password</p><p> ?。?)用戶信息表,存儲(chǔ)用戶ID、姓名、性別、年齡、
100、常用地址、幫助他人次數(shù),其中用戶ID作為主鍵,并作為外鍵引用自用戶密碼表(表6-1table_user_password),如下表6-2 table_user_info所示。</p><p> 表6-2 table_user_info</p><p> (3)已登記被撿到物品表,存儲(chǔ)被撿到物品的分類號(hào)、城市代碼、登記成功時(shí)系統(tǒng)分配的物品ID、登記日期、關(guān)鍵字。如下表6-3table_
101、article_found所示。</p><p> 表6-3 table_article_found</p><p> 已登記丟失物品表,存儲(chǔ)丟失物品的分類號(hào)、城市代碼、登記成功時(shí)系統(tǒng)分配的物品ID、登記日期、關(guān)鍵字。如下表6-3table_article_lost所示。</p><p> 表6-4 table_article_lost</p>
102、<p> ?。?)物品詳情表,存儲(chǔ)物品的詳細(xì)信息,如下表6-5table_article_info所示。</p><p> 表6-5 table_article_info</p><p> ?。?)中國(guó)正能量資訊信息表,存儲(chǔ)資訊記錄,包括資訊標(biāo)題、資訊入庫時(shí)系統(tǒng)分配的資訊ID號(hào)、資訊標(biāo)題、登記日期、資訊的具體內(nèi)容。這是數(shù)據(jù)庫中唯一一個(gè)獨(dú)立的表,不與其他表有主外鍵關(guān)系,如下表6
103、-6 table_news所示。</p><p> 表6-6 table_news</p><p> 7 服務(wù)器端設(shè)計(jì)與實(shí)現(xiàn)</p><p> ※所有接口若上傳userId 參數(shù),說明需要該交易需要處于登錄狀態(tài),否則不需要處于登錄狀態(tài)</p><p><b> 7.1 密碼部分</b></p>
104、<p><b> (1) 注冊(cè)接口</b></p><p> 客戶第一次使用該系統(tǒng)時(shí)需要先注冊(cè)為該平臺(tái)用戶,本接口用來在注冊(cè)界面調(diào)用,客戶端向服務(wù)器發(fā)送用戶注冊(cè)請(qǐng)求。</p><p> 表7-1 注冊(cè)接口請(qǐng)求數(shù)據(jù)</p><p> 請(qǐng)求地址:/lostandfound/user/password/register</p
105、><p> 服務(wù)器在接收到客戶端的注冊(cè)請(qǐng)求后解析用戶輸入的手機(jī)號(hào)和密碼,經(jīng)過驗(yàn)證后對(duì)該請(qǐng)求進(jìn)行處理——(1)若為新用戶,則向數(shù)據(jù)庫中添加新記錄,并返回給客戶端resCode為0000;(2)若處理過程中發(fā)生錯(cuò)誤導(dǎo)致數(shù)據(jù)庫插入失敗時(shí),向客戶端返回resCode為1002;(3)若數(shù)據(jù)庫中已存在該手機(jī)號(hào)時(shí),說明該用戶之前已經(jīng)注冊(cè)成功過,返回1001 。</p><p> 表7-2 注冊(cè)接口返回
106、數(shù)據(jù)</p><p> (2) 登錄、驗(yàn)證接口</p><p> 本接口是通過上傳的手機(jī)號(hào)、登錄密碼來驗(yàn)證用戶輸入是否和服務(wù)器保存的一致,用于校驗(yàn)用戶身份,可用于兩個(gè)功能:(1)用于用戶登錄時(shí)校驗(yàn)是否密碼正確;(2)在用戶更改密碼前校驗(yàn)原密碼,以確定用戶的合法身份。</p><p> 表7-3 密碼驗(yàn)證接口請(qǐng)求數(shù)據(jù)</p><p>
107、請(qǐng)求地址:/lostandfound/user/password/verify</p><p> 本接口返回情況有三種:(1)服務(wù)器校驗(yàn)成功時(shí),返回resCode為0000,并返回userId字段值為用戶ID;(2)服務(wù)器從數(shù)據(jù)庫查找不到該手機(jī)號(hào)記錄時(shí),返回resCode為1001,代表該手機(jī)號(hào)未注冊(cè)過;(3)服務(wù)器查詢到輸入手機(jī)號(hào)的記錄,但與用戶輸入的密碼不一致時(shí),返回resCode為1002 。</p
108、><p> 表7-4 密碼驗(yàn)證接口返回?cái)?shù)據(jù)</p><p><b> (3) 修改密碼</b></p><p> 修改密碼接口用于用戶修改平臺(tái)的登錄密碼。用戶在修改登錄密碼前,客戶端應(yīng)控制先調(diào)用密碼驗(yàn)證接口(接口2),驗(yàn)證通過后在調(diào)用本接口。服務(wù)器通過更新數(shù)據(jù)庫中用戶密碼表中相應(yīng)記錄來更新用戶登錄密碼。</p><p>
109、; 表7-5 修改密碼請(qǐng)求數(shù)據(jù)</p><p> 請(qǐng)求地址:/lostandfound/user/password/modify</p><p> 服務(wù)器更新數(shù)據(jù)庫記錄——(1)更新成功后返回 resCode 為0000,;(2)記錄更新失敗時(shí)返回resCode 為1001,表示操作失敗。</p><p> 表7-6 修改密碼接口返回?cái)?shù)據(jù)</p>
110、<p> (4) 獲取找回密碼郵箱驗(yàn)證碼</p><p> 用戶忘記登錄密碼時(shí)調(diào)用本接口來獲取重置密碼的驗(yàn)證碼,服務(wù)器要做兩個(gè)工作——(1)向用戶設(shè)置的安全郵箱發(fā)送一個(gè)重置密碼的驗(yàn)證碼;(2)返回給用戶一個(gè)郵箱賬號(hào),以提示用戶到特定郵箱查看和使用驗(yàn)證碼。若校驗(yàn)成功返回resCode 為0000,并返回郵箱號(hào),否則resCode為1001,并將返回郵箱號(hào)置為空。</p><p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于android系統(tǒng)的失物招領(lǐng)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android的校園失物招領(lǐng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 失物招領(lǐng)平臺(tái)
- 基于jsp的失物招領(lǐng)系統(tǒng)
- 《失物招領(lǐng)》
- 基于JSP的失物招領(lǐng)系統(tǒng).doc
- 失物招領(lǐng)網(wǎng)站dslm 系統(tǒng)概要設(shè)計(jì)
- 基于asp.net的校園失物招領(lǐng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-開題報(bào)告
- 課程設(shè)計(jì)--校園失物招領(lǐng)管理系統(tǒng)
- 失物招領(lǐng)網(wǎng)絡(luò)平臺(tái)需求分析
- 易丟丟失物招領(lǐng)平臺(tái)簡(jiǎn)介
- 失物招領(lǐng)章程
- 失物招領(lǐng)宣傳
- 失物招領(lǐng)系統(tǒng)課程設(shè)計(jì)報(bào)告書
- lost and found失物招領(lǐng)
- 12失物招領(lǐng)(2)
- 失物招領(lǐng)策劃書
- the lost things 失物招領(lǐng)
- 基于JSP的失物招領(lǐng)系統(tǒng)最終版.doc
- 師慧萍失物招領(lǐng)教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論