Android:在哪里拨打GPS:onCreate还是onStart?

时间:2011-06-21 07:09:03

标签: android gps

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

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

如果我能从两者中做到这一点,这是更好的做法吗?

4 个答案:

答案 0 :(得分:1)

这在很大程度上取决于您的使用案例...再次阅读activity lifecycle

  • 我建议onStart(),因为用户可以完美地开始活动,做其他事情(android已经有资源将活动保留在内存中),第二天,他在另一个城市并开始活动再次,但onCreate()将不会被调用。
  • 从Google地图的工作方式来看,我甚至会说他们将地理定位放在onResume()
  • 始终在onStart()之后调用
  • onCreate()。什么很容易说:在两种情况下都称之为
  • 是没有意义的

答案 1 :(得分:0)

您必须先拨打GPS才能获得位置。因为它从您的设备获得了很多能量。

使用GPS的小教程在http://www.hrupin.com/2011/04/06/android-gps-using-how-to-get-current-location-example

希望它对你有用。

答案 2 :(得分:0)

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

这是gps的好例子。 What is the simplest and most robust way to get the user's current location on Android?

答案 3 :(得分:0)

当调用onstart()时,您的活动对用户可见,但是当调用onCreate()时,您的活动正在初始化....我的建议是在单独的线程中调用onCreate和http请求中的gps。 / p>