李繼全 孫步嵩 張歡 郭奧 張繼山



摘要:隨著生活節(jié)奏的加快,難免出現(xiàn)遺失物品的情況,高校中傳統(tǒng)的失物招領(lǐng)與尋物啟事方式具有一定的局限性,且容易泄露信息,針對(duì)這種情況設(shè)計(jì)并實(shí)現(xiàn)了基于Android的失物招領(lǐng)系統(tǒng),具有招領(lǐng)信息發(fā)布,尋物信息發(fā)布等功能,該平臺(tái)極大地滿足了高校師生對(duì)于解決失物招領(lǐng)問題的需求。
關(guān)鍵詞:Android;失物招領(lǐng);Bmob后端云
中圖分類號(hào):TP319? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? 文章編號(hào):1009-3044(2018)34-0057-02
1引言
在生活中,遇到東西丟失,傳統(tǒng)方式是在朋友圈、QQ空間、貼吧等平臺(tái)發(fā)布失物招領(lǐng)與尋物啟事,但具有一定的局限性,效率低下,易造成信息泄露或其他不必要的損失。目前國內(nèi)已構(gòu)建的失物招領(lǐng)的網(wǎng)絡(luò)平臺(tái),多是面向地區(qū)或公司的,這些網(wǎng)站功能并不完善,沒有分類查詢,閱讀信息量較大,不能隨時(shí)關(guān)注最新動(dòng)態(tài)。本文所研究的問題就是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)功能完善且便捷的面向高校的失物招領(lǐng)平臺(tái),設(shè)計(jì)并開發(fā)出一款基于Android端的APP,以加快招領(lǐng)與尋物信息的傳播,并幫助失主與拾主盡快取得聯(lián)系。
2失物招領(lǐng)系統(tǒng)功能分析與設(shè)計(jì)
2.1失物招領(lǐng)流程分析
失主和拾主的流程大致相同,登錄系統(tǒng)后,可以在信息搜索框進(jìn)行查詢,如果查詢到已有失主或拾主發(fā)布的招領(lǐng)或者尋物信息后,查看信息詳情進(jìn)行評(píng)論聯(lián)系物主或拾主歸還失物。
即通過失物招領(lǐng)系統(tǒng)將失主和拾主快速高效地聯(lián)系起來,做到精確的拾物歸還和失物招領(lǐng)。
2.2系統(tǒng)功能框架設(shè)計(jì)
通過模塊化劃分,系統(tǒng)主要由“登錄注冊(cè)”“信息中心”“個(gè)人中心”三大模塊構(gòu)成,每個(gè)模塊又由若干子模塊組成[1],如圖1所示:
2.3數(shù)據(jù)庫設(shè)計(jì)
本平臺(tái)數(shù)據(jù)庫采用Bmob后端云數(shù)據(jù)庫,免去了幾乎所有的服務(wù)端編碼量,只需定義好表結(jié)構(gòu)即可。數(shù)據(jù)表有用戶信息表,招領(lǐng)信息表,尋物信息表,評(píng)論信息表,共四張表,各表的關(guān)系如圖2。
1) 用戶信息表保存了用戶的基本信息,包括用戶名、密碼、手機(jī)號(hào)、微信號(hào)、ID、昵稱、頭像、地址、郵箱等字段,類型為字符型,其中ID作為主鍵。
2)招領(lǐng)信息表保存了所有的招領(lǐng)信息,包括招領(lǐng)信息ID、發(fā)布者用戶ID、招領(lǐng)信息標(biāo)題、招領(lǐng)信息內(nèi)容、物品所屬分類、招領(lǐng)信息發(fā)布位置、發(fā)布的圖片、信息發(fā)布的時(shí)間等字段,其中招領(lǐng)信息ID、發(fā)布者ID、招領(lǐng)信息標(biāo)題、招領(lǐng)信息內(nèi)容、發(fā)布信息的位置、物品的分類的數(shù)據(jù)類型為字符型,發(fā)布的圖片的數(shù)據(jù)類型為數(shù)組型,發(fā)布時(shí)間的數(shù)據(jù)類型為日期型。其中招領(lǐng)信息ID作為主鍵。
3)評(píng)論信息表保存了所有的評(píng)論信息,包括評(píng)論ID、評(píng)論者用戶ID、評(píng)論的信息ID、評(píng)論的內(nèi)容、評(píng)論發(fā)布的位置、評(píng)論的時(shí)間等字段,其中評(píng)論信息ID、評(píng)論者ID、評(píng)論信息內(nèi)容、評(píng)論發(fā)布的位置、論信息的ID的數(shù)據(jù)類型為字符型,評(píng)論的時(shí)間的數(shù)據(jù)類型為日期型。其中評(píng)論信息ID作為主鍵[2]。
3失物招領(lǐng)系統(tǒng)實(shí)現(xiàn)
3.1 Bmob后端云
整個(gè)系統(tǒng)分為前臺(tái)和后端,前臺(tái)界面通過Android來實(shí)現(xiàn),是我們主力要實(shí)現(xiàn)的,界面基本做到簡(jiǎn)潔美觀,有著良好的用戶體驗(yàn)性,適合所有年齡段的人使用。
后端主要功能是處理數(shù)據(jù)的交互、業(yè)務(wù)邏輯等,所獲取的數(shù)據(jù)顯示于前端界面。目前后端一般采用“Spring+SpringMVC+Mybatis”框架或“Struts+Spring+Hibernate”框架來實(shí)現(xiàn),輔以Mysql數(shù)據(jù)庫,能夠提供Restfull風(fēng)格的API接口,但要精通掌握此項(xiàng)技術(shù),需要花較高的時(shí)間成本。這里采用一種簡(jiǎn)單的實(shí)現(xiàn)方式,通過第三方Bmob后端云處理方案,通過它的SDK,可以省去后端的編碼量,便于設(shè)計(jì)者把工作重心放在前端界面的開發(fā)上,整個(gè)系統(tǒng)除了一些基本的功能,也添加了一些其他的技術(shù)和實(shí)用功能,來提高軟件的健壯性和用戶粘度。Bmob后端云處理方案如圖3所示:
3.2基于WebSocket的登錄與消息推送
通過WebSocket協(xié)議,實(shí)現(xiàn)了SSO單點(diǎn)登錄功能,即一個(gè)賬戶同一時(shí)間只能在一個(gè)設(shè)備上登錄,不能多個(gè)設(shè)備同時(shí)在線,這對(duì)軟件的安全性和健壯性有著極大的影響,所以我們用WebSocket協(xié)議技術(shù)實(shí)現(xiàn)了這個(gè)功能[3],如圖4所示:
通過WebSocket協(xié)議,實(shí)現(xiàn)了Push消息推送功能,用戶可以即時(shí)被動(dòng)的接收到消息通知,比如未讀消息等,和用戶主動(dòng)進(jìn)行主動(dòng)交互,如圖5所示:
系統(tǒng)也提供了一些實(shí)用的功能,比如通過地理位置獲取今天及未來5天的天氣情況。還有通過強(qiáng)大的科大訊飛語音技術(shù),在軟件內(nèi)部實(shí)現(xiàn)了文字轉(zhuǎn)語音功能,可以清晰流程的聽到人聲的朗讀,方便我們?nèi)ラ喿x,也實(shí)現(xiàn)了語音轉(zhuǎn)文字的功能,極大省去了用戶打字輸入的時(shí)間。
3.3前端設(shè)計(jì)
1)登錄界面由兩個(gè)EditText和兩個(gè)Button基本組成,用戶如果登錄過,會(huì)自動(dòng)保存上次登錄的賬號(hào)密碼,如果登錄失敗會(huì)提示用戶連接網(wǎng)絡(luò)或者檢查用戶密碼是否輸入正確。
2) 注冊(cè)界面由四個(gè)EditText和兩個(gè)Button基本組成,輸入手機(jī)號(hào)后,點(diǎn)擊獲取驗(yàn)證碼,系統(tǒng)會(huì)向用戶發(fā)送一條驗(yàn)證碼。然后輸入驗(yàn)證碼,驗(yàn)證并完成注,冊(cè)并返回到登錄界面。
3) 主界面采用了ToolBar(頂部導(dǎo)航)+DrawerLayout(側(cè)滑菜單)+自定義RadioButton(底部導(dǎo)航) + ViewPager(滑動(dòng)控件)的形式。下拉刷新采用官方的SwpieRefreshLayout來實(shí)現(xiàn)。ViewPager指示器也采用官方的TabLayout來實(shí)現(xiàn),主界面如圖6。
4)如圖7,信息發(fā)布界面是由兩個(gè)EditText,兩個(gè)Spinner(下拉框),和兩個(gè)按鈕組成,用戶可以輸入標(biāo)題和內(nèi)容,詳細(xì)描述下物品,選擇信息類型,物品分類,加上配圖,然后發(fā)布在招領(lǐng)信息中。用戶也可以點(diǎn)擊說話按鈕,就可以把語音轉(zhuǎn)換為文字輸入到輸入框內(nèi)。
5) 在信息詳情界面,可以對(duì)信息進(jìn)行查看,以及評(píng)論,可以通過評(píng)論來即時(shí)告訴發(fā)布者。如下圖8。點(diǎn)擊右上角的小喇叭圖標(biāo),信息內(nèi)容就可以以人聲語音的形式播放出來。
6)打開主界面的側(cè)滑菜單,點(diǎn)擊右下角的天氣信息,就可以進(jìn)入天氣預(yù)報(bào)界面。
4總結(jié)
該失物招領(lǐng)系統(tǒng)可以有效地解決目前對(duì)于失物招領(lǐng)和尋物啟事信息的管理,可以更快捷地進(jìn)行消息傳播,提高失物招領(lǐng)的工作效率。其Android應(yīng)用程序是由Java語言編寫的,有豐富且可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序,它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons),甚至可嵌入web瀏覽器。后端技術(shù)采用Bmob實(shí)現(xiàn),在Bmob平臺(tái)上,只需注冊(cè)一個(gè)帳號(hào),申請(qǐng)創(chuàng)建任意多個(gè)數(shù)據(jù)庫,獲得對(duì)應(yīng)的Key,下載對(duì)應(yīng)版本的SDK并將其嵌入到移動(dòng)應(yīng)用中,便可以調(diào)用存取API,進(jìn)行數(shù)據(jù)的任意操作,給軟件快速添加一個(gè)安全靈活的后臺(tái)管理系統(tǒng),方便瀏覽終端保存的各種信息。消息推送以及單點(diǎn)登錄采用了WebSocket協(xié)議,它是一個(gè)基于TCP的全雙工通信協(xié)議,建立連接后,可以即時(shí)接收到服務(wù)端發(fā)送的信息。基于以上技術(shù),可實(shí)現(xiàn)平臺(tái)的基本功能,該平臺(tái)相對(duì)于現(xiàn)有的尋物平臺(tái),多了語音識(shí)別及分類查詢的功能,使信息瀏覽更加便捷,但軟件作用較為單一,在此基礎(chǔ)上,還可增加一些好人好事消息推送、感謝互動(dòng)及娛樂交友版塊,以提高軟件的使用率,創(chuàng)造好的用戶體驗(yàn)。
參考文獻(xiàn):
[1] 吳江平.高校失物招領(lǐng)管理系統(tǒng)的研究與分析[J].科技廣場(chǎng),2015(11):32-35.
[2] 譚偉,林俊存.基于JSP的高校失物招領(lǐng)網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子世界,2016 (21):109-110.
[3] 唐志婧.基于Android的校園失物招領(lǐng)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].呼和浩特:內(nèi)蒙古大學(xué),2017.
【通聯(lián)編輯:王力】