我正在构建一个Android应用程序,它基本上只是使用GPS获取用户的坐标,然后使用这些坐标调用API(使用HTTPrequest)来获取城市。
我的问题是,我应该在哪里这样做(调用GPS和HTTPrequest):在主文件的onCreate()或onStart()函数中?
如果我能从两者中做到这一点,这是更好的做法吗?
答案 0 :(得分:1)
这在很大程度上取决于您的使用案例...再次阅读activity lifecycle
onStart()
,因为用户可以完美地开始活动,做其他事情(android已经有资源将活动保留在内存中),第二天,他在另一个城市并开始活动再次,但onCreate()
将不会被调用。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>