0

我有一個帶有導航欄的應用程序,可在應用程序的不同屏幕之間切換。其中一些屏幕很簡單,可以通過片段輕鬆顯示,而其他屏幕則需要我從服務器提取數據並根據屏幕填充字段或列表視圖。Android - 如果我需要下載數據,我是否應該使用活動或片段作爲導航欄

我應該根據每個屏幕的需要使用片段和活動的組合嗎?使用片段是很好的,因爲屏幕的轉換不是很明顯,而開始一個新的活動是。當活動開始時異步下載信息時,是否有關於最佳實踐的一些信息?我寧願避免爲這種情況使用片段,因爲片段將被顯示,並且在顯示屏幕後將填充信息/列表視圖。

+0

在我的理解中,如果在Async調用顯示之後獲取數據之前顯示片段和活動,它們將顯示相同的問題。我在我的應用程序中有類似的情況,我依靠本地sqllite DB來存儲先前下載的信息。如果異步過程首先完成,那麼無論如何將顯示新鮮的數據,否則一旦用戶再次返回到此屏幕,用戶將看到數據。不知道這是否有幫助。 –

+0

@SachiinGupta它sorta幫助。問題是我的兩個屏幕是搜索屏幕,所以我無法事先預先下載數據。 –

回答

-2

您有幾種選擇:

1)從意向使用軟件包:

Intent mIntent = new Intent(this, Example.class); 
Bundle extras = mIntent.getExtras(); 
extras.putString(key, value); 

2)創建一個新的捆綁

Intent mIntent = new Intent(this, Example.class); 
Bundle mBundle = new Bundle(); 
mBundle.putString(key, value); 
mIntent.putExtras(mBundle); 

3)使用putExtra()意圖的快捷方式

Intent mIntent = new Intent(this, Example.class); 
mIntent.putExtra(key, value); 
+0

對不起,我可能不清楚我在找什麼。在通過屏幕底部的導航欄導航應用程序時使用活動還是可以使用Fragments,而不會在下載完成時在屏幕上出現延遲的信息? –

+0

請把一些代碼,所以我可以理解 – user2423314

0

首先,使用片段是非常好的選擇,當我在我的應用程序中使用NavigationDrawer下載數據並顯示列表或任何類型的佈局時,我也會使用片段。您也可以在片段中使用AsyncTask來下載數據並顯示它們。

其次,你怎麼知道在創建片段之前用戶選擇下載哪個菜單。這是非常好的顯示加載屏幕或類似進度條下載數據並填充到片段。

相關問題