Android平台城市旅游小助手软件设计与实现

Oracle,SQL Server ,mySql,SQLite 都是关系型数据库而且都是比较大型的数据库,Android使用的是 SQLite 数据库。特点轻量级,零配置,跨平台,嵌入式 在程序的内部,可以在任何位置通过数据库的名称对其访问,其他的应用程序不可以访问。[41]。安卓应用程序数据保存在/data/data/应用程序包名/databases目录下。一般都是私有的,如果需要共享数据库则可以使用ContentProvidero根据需求分析数据库表的设计如表4.2所示。
序号 中文名 数据类型 字段名 取值 备注
1 用户ID Integer id Not null 主键自动生成
2 用户名 String userName Not null 注册时用户名
3 密码 Text passWord Not null 注册时密码
4 性别 String sex Not null 注册时性别
5 年龄 Integer age Not null 注册时年龄
6 城市 String city Not null 注册城市信息
4.4用户界面设计
旅行小助手的界面主要有登录、分享、天气信息模块、旅游景点模块和百度地图模块,用户第一次进入本软件的时候可以考虑是否登录,如果不注册不登陆也是可以直接进入本软件的,但是注册过后可以实现分享功能。若使用第三方登录还可以获取到用户头像和该用户所在的城市,本软件界面简洁、美观,使用户操作方便上手容易,通过点击底部的RadioButton既可以进入各个Fragment,本系统功能图如4.7所示。
图4.7 系统功能图
 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 
第5章 旅行助手系统的实现
5.1系统主界面实现
系统启动后首先会进入到登录界面,如图5.1.1所示,用户可以选择注册、暂不登陆、第三方登录,如果用户选择注册,将会跳转到注册页面,如图5.1.2所示,注册页面需要用户填写注册的账号、密码、性别、年龄、城市本软件并将用户信息存储到数据库中,待用户登录判断和数据库中的账户是否匹配,若匹配则可以进入该软件,若不匹配则显示登录失败,请重新登录。此时用户可以选择重新输入用户名密码或者选择暂时不登录,如果用户选择第三方登录那么该软件将会使用ShareSDK使用用户在其它平台上已有的账号密码进行登录本软件,无论是使用数据库中的账户名密码登录还是使用第三方登录成功用户都可以做相应的分享操作,同时该软件还会获取用户的头像,以及个人信息,主界面如图5.1.3所示。在这个主界面中,包含四个页面:主页、生活、趋势、地图,即对应为四个子系统。主页主要显示天气信息,生活展示景点、乡村游、活动、餐厅、购物等信息,趋势完美直观的展示一周的温度趋势折线图,地图页面更是充分展示百度地图的强大。定位、导航、POI检索。
图5.1.1登录页面 图5.1.2注册页面 图5.1.3主页面
图5.2系统登录流程图
5.2景点查询模块的实现
5.2.1景点搜索
首先需要百度地图的API Key,才可以讲基本地图展示出来。可以显示出景点位
置信息,除了正确显示地图外还可以展示路径规划用户手动输入起点的位置信息、和终点的地理位置信息,用户还可以选择躲避拥挤、时间优先、较少费用、最短距离、最少步行距离、不含地铁等多种选择,如果该用户是驾车的情况,可以选择驾车搜索,那么本软件将会在地图上展示用户起点、终点的驾车路线图、若用户做公交对该城市的公交不熟悉的情况,也可以选择公交路线,然后用户通过放大地图同样也是可以查看公交路线,本功能最适合步行的用户了,对于一个陌生的城市,用户很容易迷失方向,那么该当你步行想到达某一个地方的时候就可以使用该功能了,对于周边检索那么对用户来说就更为重要了。用户在该市想搜索餐厅、酒店、景点使用该某块更适合不过了,比如说用户搜索某某酒店忘了酒店名字也没有关系,本软件会使用模糊查询查询后台数据库中已有的数据,如果模糊查询匹配也是可以展示用户想要的信息的,模糊查找效果如图5.2.1所示,酒店、景点查询效果如图5.2.2所示,路线规划效果如图5.2.3所示。
图5.2.1模糊查找 图5.2.2酒店查询 图5.2.3线路规划
5.2.2天气预报功能
了解最新的天气信息是给旅行前或者旅行过程中最好的准备了,出门在外又对当地不了解,天气变化很容易让人感冒、或者身体不舒服。如果真准备外出游玩又发现天气有大变化,那么可以往后推移,有了这功能可以大大减少旅行时天气变化的麻烦。用户点击主页跳转到对应的天气页面,很直观的给用户展现了当前的日期,以及温度、天气、风速信息。用户左右滑动还可以看到未来几天的天气信息,同时天气图片也是随意变化,温度趋势页面,折线图也是支持用户放大缩小来查看的,如果用户使用的手机屏幕比较小则可以放大来查看折线图,缩小更直观的展示一周的温度趋势。
图5.2 天气信息
5.3 定位模块的实 *好棒文|www.hbsrm.com +Q: ^3^5`1^9`1^6^0`7^2# 

图5.3定位流程图
GPS定位、网络定位、离线定位三种定位只要满足其一即可实现定位,将获取到的位置信息展示到新的图层上,若类中需要,通过Intent将数据传入。
当用户外出游玩的时候,尤其是在野外游玩,很容易让人迷失方向,这时候使用百度地图给我们提供定位服务是最好不过了,百度地图可以有效、高精度的实现用户所在的具体位置。百度地图给我们提供了Wifi、GPS等多种高精度定位方式,同时也是大大的减少了用户流量,而且包括定位速度也是极快。如图5.3.1所示,利用百度地图实现的高精度,高速度定位效果图。
图5.3.1自我定位
5.4生活景点模块的实现
可以给用户展示当前所在城市的周边景点、TOP景点、以及该城市的乡村游、餐厅、购物等信息,点击更多目的地还会展现更多的省份以及市区。生活模块最外层采用ListView添加头部Scrollview嵌套2个GridView达到所需要的布局效果。通过httpUtils获取服务端的信息,解析获取数据展示到对应的布局文件中。点击进去通过自定义的ScrollView当滑动状态发生改变时onScrollChange()方法设置相应的监听事件,通过回调控制滑动监听,效果图如图5.4所示:
图5.4生活景点模块以及子页面效果图
核心代码如下:
myScrollView.setOnScrollListener(new MyScrollView.OnScrollListener() {
@Override
(1)获取密钥Key的申请地址为:
(2)配置环境及发布:主要下载百度地图的SDK导入SO文件以及Jar包然后将Jar包添加依赖。
(3)展示基本的百度地图:在AndroidMenifest.xml文件中配置项目中所需要的各种权限。网络、SD卡读写、判断网络状态等。在Application中添加开发密钥, 初始化百度地图SDK

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/2970.html

好棒文