基于Android平台的信息交互软件设计
2018-06-21李涵崇日思托
李涵 崇日思托
摘 要:基于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.
(责任编辑:黄 健)