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