GPS闹钟

一. 项目需求

  1. 在自己所写的 app 中实现地图定位。
  2. 可以通过该地图选取目的地,并设置闹钟提醒自己。
  3. 可以输入提前多少米来设置闹钟的响铃。

二. 开发环境

  1. Windows10
  2. Android Studio
  3. HUAWEI g9 青春版

三. 设计方案

  1. 在自己的 app 上先实现地图的显示。
  2. 通过一个 editText 来输入提前多少米提醒我们。
  3. 另外设计两个按钮来添加闹钟和取消闹钟。

四. 具体措施

  1. 首先注册高德(这里我开发的是高德地图)成为开发者(打开高德地图,点击底部的开发者平台),创建应用,按照要求填写相应信息(其中在开发地图中要申请key,这个可以在开发者平台中点击链接来根据相应步骤操作),如下图:

这里写图片描述

2.下载相应的 jar 包和 so 包,该过程可以参考高德地图开发者平台。

这里写图片描述

选中jar包右键点击 Add As Library, 在build.fradle中看到如下代码 表示导包成功

 compile files('libs/AMap_Location_V3.0.0_20170118.jar')
    compile files('libs/AMap_Search_V5.0.0_20170309.jar')
    compile files('libs/AMap_3DMap_V5.0.0_20170311.jar')

3.加入相应的权限

<!--允许程序打开网络套接字-->  
   <uses-permission android:name="android.permission.INTERNET" />  
   <!-- 定位 -->  
   <!-- 用于访问GPS定位 -->  
   <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  
   <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>  
   <!--允许程序设置内置sd卡的写权限-->  
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
   <!--允许程序获取网络状态-->  
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
   <!--允许程序访问WiFi网络信息-->  
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
   <!--允许程序读写手机状态和身份-->  
   <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
   <!--允许程序访问CellID或WiFi热点来获取粗略的位置-->  
   <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
   <!--实现闹钟震动权限-->  
   <uses-permission android:name="android.permission.VBARTE" />  

4.初始定位(从网上 copy 的代码)

 //定位
    private void initLoc() {
        //初始化定位
        mLocationClient = new AMapLocationClient(getApplicationContext());
        //设置定位回调监听
        mLocationClient.setLocationListener(this);
        //初始化定位参数
        mLocationOption = new AMapLocationClientOption();
        //设置定位模式为高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
        mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
        //设置是否返回地址信息(默认返回地址信息)
        mLocationOption.setNeedAddress(true);
        //设置是否只定位一次,默认为false
        mLocationOption.setOnceLocation(false);
        //设置是否强制刷新WIFI,默认为强制刷新
        mLocationOption.setWifiActiveScan(true);
        //设置是否允许模拟位置,默认为false,不允许模拟位置
        m
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值