该项目由两个模块组成:
用 C# (ASP.Net) 编写的 Web 应用程序
一个用Java编写的Android应用程序,链接:https://github.com/vsl700/GPSTrackerOnline
例如,该项目的目标是帮助父母追踪孩子的位置。它的工作原理如下:
被跟踪设备(例如儿童设备)必须安装“GPS 跟踪器 - 在线”应用程序
追踪者(父母)必须通过网络浏览器或移动应用程序注册并登录系统
跟踪器必须通过为每个被跟踪设备输入某种名称(“我的儿子”、“我的妻子”等),在其帐户中为被跟踪的设备创建记录。每条记录都有一个随机生成的6位代码
每个被跟踪设备必须首先输入相应的 6 位代码才能与跟踪器连接。
跟踪器可以查看目标设备的当前位置及其位置历史记录
不使用时,可以终止移动应用程序的跟踪服务以延长电池寿命
如果目标手机上的跟踪服务未运行(忘记打开),跟踪器可以向目标手机发送特殊短信,移动应用程序将检测到该短信,应用程序将打开服务
如果被跟踪设备上没有互联网,跟踪器可以向目标手机发送一条特殊的短信,作为回报,跟踪器将收到一条包含以下内容的短信:
当前 GPS 位置以及位置历史记录(如果目标手机上有可用的 GPS 服务)
最后检测到的 GPS 位置以及位置历史记录(以防目标手机上没有可用的 GPS 服务)
该项目使用“SignalR”作为服务器和设备(浏览器和移动应用程序)之间的 websocket 连接(用于当前位置)。 Web 应用程序使用“MS Sql Server 2019”作为数据库,而移动应用程序使用“SQLite”。网页和移动应用程序中使用的地图来自 Google。
在下图中,您可以看到不同设备连接到网络应用程序的方式
(调用者 = 跟踪者)
下图显示了Web应用程序的数据库结构(所有表都有一个“id”列作为主键)
下图显示了移动应用程序的数据库结构(“Locations”表有一个“id”列作为主键)
在这里您可以看到网络和移动应用程序的一些屏幕截图
“phone1”和“phone2”在线并且在地图上可见