如何ListView依照GPS距离排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何ListView依照GPS距离排序相关的知识,希望对你有一定的参考价值。
如何ListView中依照GPS距离排序?ListView中从现有资料库列出所有附近店家,取得目前位置计算GPS距离依照距离作排序??
参考技术A Cursor c = db.rawQuery( "SELECT * FROM "+TABLE, null ); ArrayList> arraylist=new ArrayList>(); while (c.moveToNext()) Double distance=DistanceOfTwoPoints(Lat,Lon,c.getDouble(4),c.getDouble(5)); hashmap=new HashMap(); hashmap.put("Stores",c.getString( 1 ));//(id,来源) hashmap.put("distance",distance);//读取距离变数 arraylist.add(hashmap);如果我程式码这样如何改成TreeMap中并排序? 参考技术B 问题关键不在ListView这里,而是从数据库列出来的时候,你的容器排序问题,建议使用treeSet集合,重写里面业务bean的hashcode方法和equals方法,然后就可以达到你的目的了如何在Android中使用GPS服务
我正在开发与GPS相关的Android项目我还是Android的新手,所以我不太了解它。
我的项目是一个应用程序,它计算用户位置和指定的其他位置之间的距离,所以如果距离小于(X)说1KM应用程序将向用户发送通知。[[我知道如何计算之间的距离两个地点]]。
我的问题是:即使用户没有打开应用程序我怎么能这样做(我的意思是,无论如何我可以让应用程序关闭时应用程序计算背景中的距离)。所以我想要GPS功能在后台工作。
提前致谢。
您可以将服务用于后台进程。
有关获取位置的问题,请尝试以下链接:
Best way to get user GPS location in background in Android
Get GPS location via a service in Android
我对这个问题的解决方案很简单: -
您可以使用服务在后台工作(当活动未显示时)
检查一下:-Get GPS location via a service in Android
**如果您希望此服务永远运行,即使应用程序已关闭/终止,您也可以使用广播接收器**
要让应用程序在后台运行,您需要了解服务。服务是一种使应用程序在后台运行的服务,例如gps,通知等等。
链接:https://developer.android.com/reference/android/app/Service.html
用户services
。它们易于使用且您只需要它们。
服务是Android应用程序的另一个组件(如活动)。您需要在清单中定义服务。之后,您可以使用startService
(意图)启动设备。如果您需要获取一些信息(与一项活动进行交流),您可以使用bindService
而不是startService
。 (还需要实现onBind
)。
另一种解决方案是使用广播接收器发送数据。或者您可以在服务中简单地设置通知并使用它。
以上是关于如何ListView依照GPS距离排序的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose Geo Near Search - 如何在给定距离内排序?