如何在Android应用程序中获取附近用户的列表?

时间:2015-07-08 22:52:31

标签: android user-interface gridview social-networking

我正在构建一个带有UI的应用程序,该UI可以获取附近用户的列表,以帮助那些有相似兴趣的志同道合的人们建立联系。我知道这不是一个新概念,像Grindr这样的应用正是我想要实现的目标。如何通过手机获取应用程序的个人资料信息并将其显示在运行相同应用程序的另一部手机上?这需要一个网络服务器吗?

用于说明用户将看到的内容:USER A将其角色生物写入并显示图稿,USER B在附近并在主页gridview上看到USER A.

用户B如何将此信息传递到他的手机?这样做的最佳做法是什么?

我已经查看了,并且找不到已经发布的解决方案但是如果已经在其他地方已经回答了我会感谢链接,所以我不会提供重复的问题。我是新手,需要一些指导,因为我开始深入研究android编程,这是一个我似乎不断回头的问题。

4 个答案:

答案 0 :(得分:3)

您需要让所有用户每隔几分钟通过网络服务上传他们当前的位置。将其存储在数据库中(使用UPSERT)。然后,当用户想要查找其他附近用户时,您在数据库中搜索该范围内的所有用户并返回该列表。使用支持GIS的数据库(例如Postgres和PostGis扩展)会有所帮助,但这并不是必需的。

将数据库中的时间戳与位置粘贴在一起可能是一个好主意,因此您可以消除过时的结果。

答案 1 :(得分:2)

我还建议您的服务器不得为了隐私问题而返回其他用户的确切位置。如果您想显示距离,请让服务器返回一个故意随机不准确的服务器,以防止用户对其他人的位置进行精确的三角测量。

答案 2 :(得分:1)

如果你想做小距离并且不想在服务器上存储数据,你可以使用wifi-direct在用户之间传输数据......但是它可能会耗尽用户的电池。为了避免这种情况你可以使用蓝牙低功耗用于初始检测,然后通过wifi直接进行通信......

答案 3 :(得分:1)

Google刚刚宣布新的 Nearby API ,它完全符合您的要求。它已包含在Google Play services 7.8中。 Here您可以在Google的博客中找到详细的博客文章,并详细解释,here您有参考页。

我正在调查你是否可以配置搜索距离。