我是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