Android:在哪里调用GPS:onCreate或onStart?

Android:在哪里调用GPS:onCreate或onStart?,android,gps,Android,Gps,我正在构建一个android应用程序,它基本上只是使用GPS获取用户的坐标,然后使用这些坐标调用API(使用HTTPrequest)来获取城市 我的问题是,我应该在哪里(调用GPS和HTTPrequest):在主文件的onCreate()或onStart()函数中 如果我能从两个方面都做到这一点,哪一个是更好的做法?你必须打电话给GPS,然后你才需要知道位置。因为它可以从你的设备中获得很多能量 使用GPS的小教程在这里 希望它对您有用。您可以从onCreate.调用您的gps定位类,然后在Loc

我正在构建一个android应用程序,它基本上只是使用GPS获取用户的坐标,然后使用这些坐标调用API(使用HTTPrequest)来获取城市

我的问题是,我应该在哪里(调用GPS和HTTPrequest):在主文件的onCreate()或onStart()函数中


如果我能从两个方面都做到这一点,哪一个是更好的做法?

你必须打电话给GPS,然后你才需要知道位置。因为它可以从你的设备中获得很多能量

使用GPS的小教程在这里


希望它对您有用。

您可以从onCreate.调用您的gps定位类,然后在LocationListner的onLocationChanged(location location)中执行http请求

这是gps的一个很好的例子。

当调用onstart()时,用户可以看到您的活动,但当调用onCreate()时,您的活动正在初始化。。。。我的建议是在onCreate中调用gps,在单独的线程中调用http请求。

这在很大程度上取决于您的用例。。。再读一遍

  • 我建议Guest
    onStart()
    ,因为用户可以完美地启动活动,做其他事情(android有足够的资源将活动保存在内存中),第二天,他在另一个城市再次启动活动,但不会调用
    onCreate()
  • 从谷歌地图的工作原理来看,我甚至可以说他们将地理定位放在了
    onResume()
  • onStart()
    总是在
    onCreate()之后调用。很容易说的是:在这两种情况下都称呼它是没有意义的

另外,GPS呼叫和HTTPRequests是同步的还是异步的?我在开始时需要它。那么我应该在oncreate还是onstart中获取位置?在这种情况下,必须在onstart中运行GPS