【Android】模仿共享单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,轨迹回放,导航等)

1、前言:

个人认为LBS(基于位置服务)是移动互联网最主要的特征之一,自己以前没做过地图有关的项目,所以就想做一个模仿共享单车练手项目:功能包括附近车辆、规划路径、行驶距离、行驶轨迹记录、轨迹回放、导航等,还挺全的哈。

2、实现逻辑:

  1. 此项目都是保存到本地数据库的假数据,实际项目中是和服务器交互来获取或上传数据。
  2. 地图使用的是百度SDK。
  3. 附近车辆用的是模拟数据,实际项目中是上传自己的经纬度然后服务器端会返回给你附近车辆列表显示出来。
  4. 行驶轨迹保存在本地数据库,实际项目中需要隔几秒上传一次踩点列表到服务器,还要防止APP被杀死或其它异常导致以前踩点消失。
  5. 距离是取两个位置点的直线距DistanceUtil.getDistance(lastLatLng,currentLatLng)。然后把所有这些距离相加就是总距离,这是通常算法。

3、运行效果:

**

4、遇到的问题:

  1. 获取不到当前位置?如下图:

解决方法:targetVersion>=23,那么运行到6.0及以上设备时,默认所有权限都不开启,必须动态requestPermission,这里需要位置权限,默认没开启导致此结果

  1. 地图只显示网格不显示建筑,如下图:

解决方法:原因是百度开放平台时 debug md5配置不正确。由于不同电脑或开发环境debug模式 md5 不一样,所以在不同电脑上运行项目,需要在百度开放平台的debug模式配置正确。或者可以打一个release包 因为release md5用同一个签名是不会变的。

  1. 位置图标不跟着自己运动,查看自己代码也没有问题啊,调试了好久,莫名其妙

解决方法:把百度sdk中的初始化地图和配置参数等代码拷进来代替,果然奏效

  1. 进程保活问题

解决方法 :随着系统的不断升级和完善,Android保活,变的越来越不可能了,只能尽量保活。可参考:2020年了,Android后台保活还有戏吗?看我如何优雅的实现!

5、项目源码

项目源码,点击下载...

app体验下载地址:github.com/gaoleicodin...

相关推荐
To_OC8 小时前
写了三遍 Todo List,我终于搞懂了 React 父子组件到底怎么通信
前端·javascript·react.js
勇往直前plus8 小时前
Vue3(篇一) 核心概念——响应式模板语法与组件基础
前端·javascript·vue.js
咩咩啃树皮9 小时前
第43篇:Vue3计算属性(computed)完全精讲——缓存机制、依赖计算、业务最优解
前端·vue.js·缓存
徐小夕11 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
kyriewen12 小时前
别再乱用useEffect了——你写的10个里有8个不该存在
前端·javascript·react.js
Ivanqhz12 小时前
Rust &‘static str浅析
java·前端·javascript·rust
IT_陈寒13 小时前
SpringBoot这个分页坑,我踩了三天才爬出来
前端·人工智能·后端
颜酱13 小时前
05 | 召回前置准备:根据业务数据库生成各数据库(读取配置阶段)
前端·人工智能·后端
zandy101113 小时前
衡石 Agentic BI的ReAct 推理框架在 Agentic BI 中的工程化实践
前端·javascript·react.js
罗超驿13 小时前
JavaEE进阶之路:从Web架构原理到HTML标签全解析
前端·html·web·javaee