2014-09-06 43 views
0

所以基本上我已经做了一些小应用程序在过去,但这是我第一个'正确'的应用程序。如何使用相同的应用程序检测附近的Android设备

该应用程序的主要功能之一,我挣扎的一点是我需要能够与所有其他用户登录到应用程序中填充ListView,但我只想显示用户在设定距离内,例如10米。

我尝试使用蓝牙来实现这一点,但是这并没有奏效。我现在想用位置服务来做到这一点。

我的想法是必须每隔几分钟才会将设备的位置发送到外部服务器,然后所有其他设备都可以运行将其位置与此服务器上的其他位置进行比较的功能。

有没有人知道我可以如何实现这一点,或知道涵盖更简单的主题的任何教程。谢谢

+0

parse.com能做到这一点,作为。服务器和查询最近,然后在应用程序中确定最近的距离是否在10米以内:https://www.parse.com/docs/android_guide#geo-query – cYrixmorten 2014-09-06 22:15:35

回答

4

免责声明:我不是一个Android开发者,但是这似乎是一个设计问题,而不是实现问题,所以希望我下面的评论可能是一些使用...

我不不认为有一个API可以设置为“true”来获得此功能,所以我认为您将不得不定制所有移动部件(并且有一对)。我想一般的过程是这样的:

在客户端:

  1. 在客户端登录的用户在服务器与某种身份(即“[email protected]”)
  2. 每X分钟客户端应用程序获取当前位置(即“100N 90E”)并将其发送到服务器
  3. 客户端每隔X分钟轮询服务器以查看10英里内的人(即“[email protected] “,”[email protected]“)

在服务器上:

  1. 需要某种身份验证的端点用于获取用户的身份
  2. 需要一个端点用户登记位置(“[email protected]为100N 90E”)
  3. 需求的服务,找出每个用户有多远相互
  4. 需要一个端点返回X英里(从#3生成的列表)的用户

这些步骤中的每一个应该不是难事如果你愿意的话,你可以在服务器第3步中真正使用分配算法。

,你可以问自己一些问题是:

  • “?如何建立一个服务器侦听HTTP请求” - 看看Node.JS的简单解决方案
  • “我如何在android中获取用户的位置?“ - 简单的谷歌搜索发现很多文档
  • 的‘我怎样写一个服务,不断执行操作?’ - Node.js的将这个
  • 再次求助:”我会在哪里存储用户的位置和他们的距离相互?” - 你可以看看像CouchBase或MongoDB的一个NoSQL的选项,或者你可以使用MySQL更加结构化的数据库

希望这有助于...

+0

是的,这正是我想要做的,我只是不知道如何将其实施到我的应用程序。 – JoshLittlewood 2014-09-06 22:01:15

+0

@JoshLittlewood - 我让我的答案更强大一点。这个实现将会是一个自定义工作,所以不确定你会找到一个完全符合你想要的样本,但是如果你遇到任何特定的问题,那么我肯定有人在stackoverflow上帮助... – jt000 2014-09-06 23:29:52

+0

@JoshLittlewood Couchbase非常适合NoSQL文档数据存储,并且适合您正在尝试做的事情,因为您可以在开发应用程序/功能时演变架构。 – sweetiewill 2014-09-08 15:08:59

相关问题