李涵 崇日思托
摘 要:基于Android系統開發一款為大眾實現點對點信息交互的移動應用,主要解決用戶由于地理位置等信息更替不及時造成的信息不對稱問題。軟件包括地圖模塊、用戶模塊、信息評價模塊、菜單管理模塊等。通過地圖模塊、GPS定位以及定點查詢功能可以快速確定想了解的區域,與該區域的信息提供者建立聯系并獲取信息,還可根據服務質量作出評價。系統測試表明,該軟件界面友好、功能齊全,具有良好的可拓展性。
關鍵詞:Android;通訊交流;信息交互
DOI:10.11907/rjdk.172738
中圖分類號:TP301
文獻標識碼:A 文章編號:1672-7800(2018)005-0043-03
Abstract:The research project aims at developing a mobile application based on the Android system. The mobile application is designed mainly to realise point-to-point information interaction for the public. Moreover, the application could meet the needs of eliminating information asymmetry caused by information updating delay of geographical issues. The applications consists of map module, user module, evaluation module, menu management module and so on. The map module, GPS location and pointing query functions could help users acquire information quickly and get in touch with the information provider from certain regions. Users could get various categories of latest information through phone numbers or a built-in address list and make evaluations according to the quality of services.
Key Words:Android; communication; information interaction
0 引言
移動互聯是目前的研究熱點之一。在智能手機領域,Android和iOS是兩大陣營。Android借助其開放性,占據了絕大部分市場份額。本文基于Android系統開發了一款可為大眾實現點對點信息交互的移動應用,能夠滿足用戶由于地理位置等信息更替不及時造成的信息不對等問題[1-3]。
本軟件系統包括地圖模塊、用戶模塊、信息評價模塊、菜單管理模塊等。通過地圖模塊、GPS定位以及定點查詢功能可以快速確定自己想了解的區域,并與該區域的信息提供者建立聯系[4-5]。用戶可通過聯系電話或內置的通訊功能獲取想了解的信息,并根據服務質量作出評價。該系統滿足了用戶對于新鮮資訊的需求,也有效保證了信息提供者的服務質量。
1 系統設計思路
根據信息交互需求,軟件設計了4個主要模塊:用戶管理模塊、地圖模塊、信息評價模塊、菜單管理模塊。此外,作為一款信息交互軟件,溝通是必不可少的,所以加入了通訊模塊。完整的系統模塊結構如圖1所示。
2 系統詳細設計
為了降低系統復雜性,更好地體現Android端的功能,在設計時盡可能地將邏輯及運算操作放在本地。服務器是一個簡單的數據庫和轉發器,客戶端通過接口推送與獲取數據。服務器的主要任務是與數據庫進行各種交互[6],例如查詢、更新等。本文選用MongoDB數據庫,根據需求建立了兩個集合,分別是user(用戶集合)與data(數據集合)。user儲存用戶名稱及密碼,data儲存用戶名稱、住址、電話、用戶擅長類別與擅長類別評分,以及是否選擇隱藏自己的信息提供者身份。將用戶名稱和密碼單獨建立集合可以更好地保證系統安全性。
本文使用的服務器位于日本的VPS主機(虛擬專用服務器),擁有獨立公網IP: 45.32.23.28。Nodejs實現的服務端可解析客戶端上傳的各種數據。
2.1 初始界面
軟件的初始界面應該簡潔、易操作,提供用戶名和密碼輸入框,并進行合法性判斷。用戶輸入的用戶名不能少于3個字母(僅限字母),密碼不能少于6位(僅限字母與數字組合)。在輸入框內的右側進行提示,例如:目前為空、有效或無效。只有在用戶名與密碼都為有效的狀態下才能進行登錄操作,從而既可起到告知用戶的目的,又能節省資源。
2.2 個性化設置需求
個性化設置是用戶管理模塊的核心,本軟件特殊與特色的地方在于用戶有兩種身份:①普通用戶。該身份是每個用戶都具備的,用戶登錄后可以自由地在地圖上選擇“信息提供者”,與其進行信息交互;②信息提供者。該身份可根據用戶意愿進行調整,如果用戶愿意為他人提供服務,系統將根據用戶設置的擅長領域,在地圖上展示出來;如果用戶不愿意或暫時無法提供服務,可隨時將該身份隱藏[7-8]。除身份(角色)調整外,個性化設置還允許用戶隨時更改自己擅長的領域。
2.3 GPS定位需求
如今手機受到廣泛歡迎的一個重要原因就是便攜性,GPS定位可以很好地利用該優勢。當用戶處于戶外,位于一個自己不熟悉的地區時,可通過開啟GPS定位,迅速確定自己的位置,從而選擇附近的信息提供者進行交互[9]。
2.4 地圖展示需求
用戶除使用本軟件的通訊功能外,絕大部分時間都在使用地圖,所以地圖展示需要提供完善的功能。首先,地圖上要展示出“信息提供者”供用戶查看,進而展開交流;其次,GPS的實時定位也需要展示在地圖上,且提供開關按鈕,可以展示出定點查詢結果,并且能夠拖動地圖,有縮放效果。
2.5 定點查詢需求
為方便用戶快捷定位到需要尋找的地點,GPS定位可看作特殊的定點查詢[10]。定點查詢結果應能展示在地圖上,并在地圖模塊提供相應輸入框。
2.6 通訊模塊需求
用戶通過選定感興趣的信息提供者,通過通訊模塊進行信息交互。通訊信息類型主要分為兩種:系統消息和用戶間通信。系統消息的推送可以實現更好的使用體驗,讓用戶與信息提供者了解目前雙方所處的狀態,例如:“有用戶準備向您請求服務”,“本次服務已結束,請作出評價”等。此外,評價入口應該在通訊模塊中體現。
2.7 信息評價模塊需求
該模塊的目的主要是幫助用戶判斷信息提供者的服務質量,起到約束作用。對服務進行評價并不是強制性的,用戶可選擇放棄評價本次服務的機會。
2.8 菜單管理模塊需求
主要負責地圖模塊、用戶管理模塊和通訊模塊的實時切換。
3 系統測試
3.1 服務器開啟
要完成系統測試,需要開啟Nodejs服務器,為客戶端提供必要的接口。服務器的連接IP位于日本的VPS服務器,公網IP地址:45.32.23.28。
啟動Nodejs服務器后,可以看到其監聽的端口為3000。
3.2 主界面操作
進入地圖顯示界面,用戶可以利用雙指對地圖進行縮放操作,或單指移動對地圖進行拖拽操作。當用戶在搜索框查詢地點時,系統可根據輸入的字符聯想出可能結果,展示在下拉欄中,最終的搜索結果會以藍色標記顯示在地圖上。定點搜索效果如圖3所示。
當用戶首次進入主頁,會自動進行GPS定位,圖中的藍色箭頭標志即是當前用戶的所在位置,右側的GPS開關可以選擇關閉或開啟。
3.3 個人信息
個人信息頁展示的是當前用戶設置的信息,用戶通過其可以了解目前自身的信息狀態,包括地址、電話、擅長類別、評分等。點擊修改資料按鈕,即可跳轉到個性化設置頁。
個性化設置頁可編輯各種個性化設置,包括:是否開啟隱身(信息提供者身份)、地點、電話、特長類別。點擊保存后,服務器將同步數據保存到數據庫,本地涉及的界面也將同步更新。開啟隱身后用戶將不會被顯示在地圖上,無法被其他用戶檢索到。個性化設置頁效果如圖4所示。
3.4 評價模塊測試
當雙方都認可信息提供服務已結束時,由信息提供者點擊會話中的紅色終止按鈕;之后彈出選擇框,依次列出目前信息提供者的擅長類別,讓其進行選擇,以便用戶對服務進行評價;用戶此時收到系統提示:“本次服務結束,按返回鍵進行信息評價”;用戶在對話頁面按下返回鍵時會彈出對話框,選擇是否進行評價;確定評價后,進入評價頁面,界面將顯示信息提供者選擇的服務類別,用戶進行評星后,即完成整個評價過程。用戶評價界面效果如圖5所示。
4 結語
本文基于Android系統開發了一款為大眾實現點對點信息交互的移動應用,系統選用MongoDB數據庫,并利用Nodejs實現的服務端解析客戶端上傳的各種數據。用戶可通過地圖模塊、GPS定位以及定點查詢功能快速確定自己想了解的區域,選定感興趣的信息提供者并獲取信息,最后根據服務質量作出評價。該系統能夠有效解決用戶由于地理位置等信息更替不及時造成的信息不對稱問題。
參考文獻:
[1] 馬志強.基于Android平臺即時通信系統的設計與實現[D].北京:北京交通大學,2009.
[2] 彭瑞卿,談誠.面向Android的位置模糊及隱私保護技術研究[J].武漢大學學報:工學版,2017,3(50):465-471.
[3] 劉經南,郭遲,彭瑞卿.移動互聯網時代的位置服務[J].中國計算機學會通訊,2011,7(12):40-50.
[4] XIAO P, JIANLIANG X, XIAOFENG M. Protecting location privacy against location-dependent attacks in mobile services[J]. IEEE Transactions on Knowledge and Data Engineering,2012,24(8):1506-1519.
[5] 楊豐盛.Android應用揭秘開發[M].北京:機械工業出版社,2010.
[6] 李剛.瘋狂Android講義[M].北京:電子工業出版社,2015.
[7] 萊特曼.精彩絕倫的Android UI設計:響應式用戶界面與設計模式[M].王東明,譯.北京:機械工業出版社,2013.
[8] RETO MEIER. Android 4高級編程[M].第3版.佘建偉,趙凱,譯.北京:清華大學出版社,2013.
[9] KRISTINA CHODOROW. MongoDB權威指南 [M].第2版.鄧強,王明輝,譯.北京:人民郵電出版社,2011.
[10] Android開發者博客.Android Studio 2.0預覽[EB/OL]. http://android-developers.blogspot.jp/2015/12/android-studio-20-preview-android.html.
(責任編輯:黃 健)