我是Android的新手,并试图找出放置HTTP请求的位置,以便仅执行一次(当Activity首次变为可见时)。 onCreate总是在从onActivityResult返回时调用(在这里从相机中获取图片)Android:可以在Activity的外部放置一个HTTP请求onCreate?
任何建议?
我是Android的新手,并试图找出放置HTTP请求的位置,以便仅执行一次(当Activity首次变为可见时)。 onCreate总是在从onActivityResult返回时调用(在这里从相机中获取图片)Android:可以在Activity的外部放置一个HTTP请求onCreate?
任何建议?
onCreate(Bundle savedInstanceState)
如果savedInstanceState
是null
那么它是该活动的第一个/干净的开始。所以,你可以做这样的事情:
onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
// call HTTP request
}
... the rest of onCreate()
}
如何设置一个标志你第一次做内的onCreate的电话,然后每次的onCreate(和你的代码)检查的叫法。对于completenes活动生命周期记录在这里:http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
OnCreate()可能不是一个糟糕的地方,如果您可以确保它始终在活动启动时执行,或者您已准备好检查是否已经完成因为其他答案也建议)。您可以在SharedPreferences中为此设置一个标志,因为此标志在应用程序完全关闭并重新启动后仍然存在。
话虽如此:你仍然需要把http请求放在后台线程中,如果你想让你的应用程序在Honeycomb或冰淇淋三明治上可用的话,那么当这些系统有任何网络访问UI线程。
谢谢,这是有用的信息! – Dan
谢谢,这似乎工作! – Dan