论文部分内容阅读
【摘 要】地图和通讯在人们的生活中有不可替代的作用,一款好的地图APP应不仅限于基础地图操作,还需增加便捷的通讯手段。本软件在百度地图的基础上,实现了地图的基本功能,如定位,搜索,导航等;使用环信即时通讯云SDK实现个人账号登录,用户间即时通讯(文字/语音)的功能,并且可一键位置分享,路线规划。同时软件加入地址收藏功能,分享收藏点给好友。
【关键词】地图;即时通讯;手机软件
1.系统特点
(1)个人账号登录功能。添加好友,好友之间可进行文字聊天或语音通话,实现同时聊天和操作地图;一键分享当前位置,并且进行路线规划。
(2)地址收藏功能。可对地址备注名称,分享地址给QQ、微信好友,也可一键规划路线。
(3)基础地图功能。卫星定位,卫星地图和3D地图的切换,POI信息点的搜索,交通信息状况的查看,两地之间路线的导航(步行、骑行、驾车、综合)。
2.设计方案
2.1需求分析
2.2概要设计
针对需求分析阶段的功能需求,可将系统分为四个模块,即主界面,登录界面,收藏夹,路线规划界面,每个界面所实现的基本功能如下图所示:
主界面是用户打开软件首先看到的界面,该界面可实现一些基本的地图操作及搜索功能。聊天功能则需先登录账号后才能使用,若没有账号可在用户登录界面注册一个。
用户登录界面主要是实现本地用户账号信息管理,实现账号的登录、注册和存储;同时管理好友信息,添加/删除好友,只有添加好友后才能进行通讯;最后是聊天功能,聊天分为文字聊天和IP电话,并且用户间的聊天记录会存储在云端,每次用户打开聊天界面会自动加载之前的聊天记录。
收藏夹界面则是对地图上感兴趣的点进行收藏,通过长按屏幕,手机自动获取触点经纬度,然后将经纬度和用户编辑的附加信息一并存储于云端;同时用户可分享自己的收藏点给好友;还可规划从当前位置到收藏点的路线。
路线规划界面则是综合的路线规划功能,可设置起点终点,然后选择步行,骑行,驾车,综合等出行方式进行路线规划。
2.3详细设计
2.3.1数据库设计
(1)数据需求
①好友信息的录入,包括好友id,当前用户id
②好友信息的删除,包括好友id,当前用户id
(2)功能需求
①添加好友功能,将当前用户id和好友id作为一条记录的两个字段存储于android机的数据库中
②删除好友功能,将当前用户id和好友id对应的记录从数据库中删除
根据需求分析的结果,抽象出实体及实体之间的关系,设计数据库的概念模型即E-R模型如下图所示:
2.3.2公共类设计
根据概要设计中划分的模块功能,将实现不同功能的代码抽象封装在不同的类内,以实现模块独立。为提高模块的内聚程度并降低模块间的耦合程度,各模塊基本只使用本模块内的元素及其他模块提供的接口来实现自己特定的功能,并将功能代码封装起来,向外提供函数接口。其他模块无需关心功能是如何实现的,只需调用相应函数即可。例如,在主界面MainActivity内实现语音通话、路线规划等功能,只需调用CallActivity类和RoutePlan类内的相关函数即可,无需在MainActivity内重新编写相应功能代码,从而简化程序,提高可读性和可维护性。
2.4实现
本系统是基于百度地图开放平台和环信即时通讯云v3.0构建起来的。
一些基础地图操作是通过调用百度地图API实现的,如实时定位功能,需创建一个service并在其中新开一个线程,将定位功能放入线程之中,与主线程并行,从而实现实时效果;另一些复杂操作,则需对输入输出作相应格式化处理,然后调用百度地图的搜索引擎,如路线规划,通过文本框或长按地图上的点输入起点/终点,将数据发送给百度地图搜索引擎,然后将反馈的多个结果以复选框的方式呈现给用户,当用户选择中一个选项时,则将该选项所对应的路线以覆盖物的方式显示在地图上。
一些基础的通讯功能是通过环信即时通信云v3.0实现的,如账号信息和聊天记录的存储则是使用的环信云的云端数据库,但好友信息则是存储在本地数据库中。文字通信和语音通信则是通过调用集成在环信云中的UDP/TCP协议实现的。
3.总结
本系统将聊天功能和地图功能集成于一个界面内,改变了聊天界面和地图界面之间来回切换的繁琐操作。聊天功能分为文字聊天和语音聊天,同时加入账号管理;地图功能则包括基础地图功能(如定位,地图模式切换等)和复杂地图操作(如POI搜索,路线规划等);同时该系统还加入点收藏功能,用户可收藏自己的兴趣点。本系统采用的图标通俗易懂,操作简单,用户可轻松掌握,从而节省用户时间,提高工作效率。
作者简介:
赵立正,男,1997.12,青岛理工大学信息与控制工程学院
吴国春,男,1999.02,青岛理工大学信息与控制工程学院
参考文献:
[1]傅由甲,等.Android移动网络程序设计案例教程.北京:清华大学出版社.2019
[2]张海藩,等.软件工程导论.北京:清华大学出版社.2017
(作者单位:青岛理工大学信息与控制工程学院)
【关键词】地图;即时通讯;手机软件
1.系统特点
(1)个人账号登录功能。添加好友,好友之间可进行文字聊天或语音通话,实现同时聊天和操作地图;一键分享当前位置,并且进行路线规划。
(2)地址收藏功能。可对地址备注名称,分享地址给QQ、微信好友,也可一键规划路线。
(3)基础地图功能。卫星定位,卫星地图和3D地图的切换,POI信息点的搜索,交通信息状况的查看,两地之间路线的导航(步行、骑行、驾车、综合)。
2.设计方案
2.1需求分析
2.2概要设计
针对需求分析阶段的功能需求,可将系统分为四个模块,即主界面,登录界面,收藏夹,路线规划界面,每个界面所实现的基本功能如下图所示:
主界面是用户打开软件首先看到的界面,该界面可实现一些基本的地图操作及搜索功能。聊天功能则需先登录账号后才能使用,若没有账号可在用户登录界面注册一个。
用户登录界面主要是实现本地用户账号信息管理,实现账号的登录、注册和存储;同时管理好友信息,添加/删除好友,只有添加好友后才能进行通讯;最后是聊天功能,聊天分为文字聊天和IP电话,并且用户间的聊天记录会存储在云端,每次用户打开聊天界面会自动加载之前的聊天记录。
收藏夹界面则是对地图上感兴趣的点进行收藏,通过长按屏幕,手机自动获取触点经纬度,然后将经纬度和用户编辑的附加信息一并存储于云端;同时用户可分享自己的收藏点给好友;还可规划从当前位置到收藏点的路线。
路线规划界面则是综合的路线规划功能,可设置起点终点,然后选择步行,骑行,驾车,综合等出行方式进行路线规划。
2.3详细设计
2.3.1数据库设计
(1)数据需求
①好友信息的录入,包括好友id,当前用户id
②好友信息的删除,包括好友id,当前用户id
(2)功能需求
①添加好友功能,将当前用户id和好友id作为一条记录的两个字段存储于android机的数据库中
②删除好友功能,将当前用户id和好友id对应的记录从数据库中删除
根据需求分析的结果,抽象出实体及实体之间的关系,设计数据库的概念模型即E-R模型如下图所示:
2.3.2公共类设计
根据概要设计中划分的模块功能,将实现不同功能的代码抽象封装在不同的类内,以实现模块独立。为提高模块的内聚程度并降低模块间的耦合程度,各模塊基本只使用本模块内的元素及其他模块提供的接口来实现自己特定的功能,并将功能代码封装起来,向外提供函数接口。其他模块无需关心功能是如何实现的,只需调用相应函数即可。例如,在主界面MainActivity内实现语音通话、路线规划等功能,只需调用CallActivity类和RoutePlan类内的相关函数即可,无需在MainActivity内重新编写相应功能代码,从而简化程序,提高可读性和可维护性。
2.4实现
本系统是基于百度地图开放平台和环信即时通讯云v3.0构建起来的。
一些基础地图操作是通过调用百度地图API实现的,如实时定位功能,需创建一个service并在其中新开一个线程,将定位功能放入线程之中,与主线程并行,从而实现实时效果;另一些复杂操作,则需对输入输出作相应格式化处理,然后调用百度地图的搜索引擎,如路线规划,通过文本框或长按地图上的点输入起点/终点,将数据发送给百度地图搜索引擎,然后将反馈的多个结果以复选框的方式呈现给用户,当用户选择中一个选项时,则将该选项所对应的路线以覆盖物的方式显示在地图上。
一些基础的通讯功能是通过环信即时通信云v3.0实现的,如账号信息和聊天记录的存储则是使用的环信云的云端数据库,但好友信息则是存储在本地数据库中。文字通信和语音通信则是通过调用集成在环信云中的UDP/TCP协议实现的。
3.总结
本系统将聊天功能和地图功能集成于一个界面内,改变了聊天界面和地图界面之间来回切换的繁琐操作。聊天功能分为文字聊天和语音聊天,同时加入账号管理;地图功能则包括基础地图功能(如定位,地图模式切换等)和复杂地图操作(如POI搜索,路线规划等);同时该系统还加入点收藏功能,用户可收藏自己的兴趣点。本系统采用的图标通俗易懂,操作简单,用户可轻松掌握,从而节省用户时间,提高工作效率。
作者简介:
赵立正,男,1997.12,青岛理工大学信息与控制工程学院
吴国春,男,1999.02,青岛理工大学信息与控制工程学院
参考文献:
[1]傅由甲,等.Android移动网络程序设计案例教程.北京:清华大学出版社.2019
[2]张海藩,等.软件工程导论.北京:清华大学出版社.2017
(作者单位:青岛理工大学信息与控制工程学院)