基于Android平台的校园热点手机应用的设计与实现

2020-12-24 06:30李凤祥
无线互联科技 2020年21期
关键词:高德图标开发者

李凤祥

(辽宁轨道交通职业学院,辽宁 沈阳 110023)

1 功能概述

本应用旨在帮助学生更好地熟悉校园环境,解决生活中遇到的问题。其主要功能为:通过对服务器发出请求,经网络连接在手机中加载出校园地图,并显示出当前使用者的实时位置。通过对校园周边热点信息数据的处理存入本地数据库中,之后通过本地数据库提取需要的数据,整理再显示到界面中。本应用的具体功能如下:

(1)在应用中加载地图。高德是中国领先的数字地图内容、导航和位置服务解决方案提供商。高德地图是国内一流的免费地图导航产品,也是基于位置的生活服务功能最全面、信息最丰富的手机地图,由国内最大的电子地图、导航和LBS服务解决方案提供商高德软件提供。高德地图Android SDK是一套地图开发调用接口,为开发者提供免费的地图解决方案,供开发者在自己的Android应用中加入地图相关的功能。

(2)实现使用者在地图中实时位置。通过高德LBS开放平台提供的地图相关功能,调用“我的位置”这一功能,从而实现在地图上显示用户位置,也可以自定义定位图标。

(3)将校园热点加载到地图中。将校园热点存放在数据库中,通过查询ID调用数据库信息,从而加载校园热点。

2 系统功能总体设计

本系统功能设计目标如下:

(1)加载地图:通过点击手机桌面“校园热点”图标,运行本系统,通过网络连接,加载出辽宁轨道交通职业学院校园地图。

(2)定位:通过GPS技术,确定用户自身的校园位置,并进行实时监测。

(3)加载校园周边热点[1]:根据用户的不同需要,可分类加载出不同的校园热点。如:宿舍楼、综合楼、教务处、行政办公楼、食堂等。

(4)加载校园热点信息:通过点击热点图标,加载出对应信息供用户参考。

3 详细设计和实现

3.1 Android开发平台的搭建

(1)安装Java jdk,最新版本,下载成功后,安装。

(2)安装Eclipse。Eclipse是一款开源的集成开发环境,它能够极大的提高开发应用效率,最重要的是,它提供了丰富的Android相关插件。

(3)安装ADT插件。

3.2 获取高德地图API KEY

高德地图[2]Android SDK是一套地图开发调用接口,供开发者在自己的Android应用中加入地图相关的功能。开发者可以轻松地开发出地图显示与操作、兴趣点搜索、地理编码、离线地图等功能。

4 系统功能实现

4.1 创建地图

创建页面如图1所示。

图1 创建页面

本应用是使用高德地图来实现地图的加载。在高德LBS平台,为开发者提供免费的地图解决方案。包括:地图显示、定位、关键字搜索等功能。首先,在平台申请账号,下载地图支持文件并安装到系统中。然后,在Android Manifest文件中注册开发者账号,之后在布局文件中划定地图位置并引用外部类,最后在Main Activity中指定辽宁轨道交通职业学院为地图中心,完成对地图的初始化。

4.2 实现定位

首先设置定位图标的样式,在地图中加入定位图层,并开启定位[3]。

private void setUpMap(){

MyLocationStyle myLocationStyle = new MyLocationStyle();

myLocationStyle.myLocationIcon(BitmapDescriptorFactory

.fromResource(R.drawable.location_marker));

myLocationStyle.strokeColor(Color.TRANSPARENT);

myLocationStyle.radiusFillColor(Color.argb(0, 0, 0, 0)); myLocationStyle.strokeWidth(0.0f);

amap.setMyLocationStyle(myLocationStyle);

amap.setLocationSource(this);

amap.getUiSettings().setMyLocationButtonEnabled(true); amap.setMyLocationEnabled(true);

}

4.3 添加热点

首先定义热点坐标常量,以便使用,之后自定义热点图标,构建模型。然后,在主程序中将调查的热点详情写入SQLite数据库。

4.4 在地图中显示热点

用户通过热点分类,选择想加载的热点,系统首先通过判断“choice”的值,然后在数据库中调用相应的图标信息,加载到地图中。

public void onClick(View v){

switch(v.getId()){

case R.id.tv_choice1:

amap.clear();

amap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f)

.position(Constants.F1).title(“1号楼”).icon(marker_1)

.draggable(true));

amap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f)

.position(Constants.F2).title(“2号楼”).icon(marker_2)

.draggable(true));

......}

4.5 获取热点信息

在Android系统中,用户所看到的和能够操作的界面都是一个个独立的Activity。在本校园热点手机应用中,用户通过点击热点详情,就能通过查询热点的id,从数据库中调用数据,从而跳转到热点信息界面中。

public void onInfoWindowClick(Marker marker){

Intent.intent=new.Intent(GroundOverlayActivity.this,CampusDetail.class);

String str=marker.getTitle();

if(str.equals(“食堂”)){

Bundle bundle=new Bundle();

bundle.putString(“choice”, “食堂”);

intent.putExtras(bundle);

startActivity(intent);

}else if(str.equals(“综合楼”)){

Bundle bundle=new Bundle();

bundle.putString(“choice”, “综合楼”);

intent.putExtras(bundle);

startActivity(intent);

......}

5 结语

本系统是基于Android平台的校园热点手机应用,设计此应用的目的是为了服务于辽宁轨道交通职业学院的学生,尤其是新同学,使他们能够更快地熟悉校园,更好地适应大学生活。

猜你喜欢
高德图标开发者
Android手机上那些好看的第三方图标包
江苏高德液压机械有限公司
江苏高德液压机械有限公司
中国风图标设计
iOS开发者调查
iOS开发者调查
有意思的厕所图标
栝楼产业开发者谢献忠
高德贸易有限公司
圣人的告诫