2013-07-21 45 views
0

我有一個意圖,只有在某些數據尚未插入時纔會顯示。這就像插入一些數據的自定義表單。如果數據已被插入,將來應用程序將被打開,意圖不會再出現。它將打開另一個意圖,默認的一個。 (通常這可能發生在應用程序第一次打開時)隱藏意圖,如果默認數據插入

如何管理意圖,因爲默認意圖只能是一個?

例如:如果應用程序打開它第一次將startIntent形式 下一次應用程序打開時(假設已插入的數據),它會startIntent MainActivity

+0

使用共享偏好設置並存儲一個值,指示應用程序已被調用的天氣或者是第一次運行。 – Ahmad

回答

0

我使用sharedpreferences來插入數據只有一次,只需使用它的方式,在下面的代碼 意圖將只啓動一次應用程序第一次安裝,之後,它將啓動主要活動的意圖。

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 

if (isFirstTime()) { 
// startIntent Form 
} 

} 



private boolean isFirstTime() 
{ 
SharedPreferences preferences = getPreferences(MODE_PRIVATE); 
boolean ranBefore = preferences.getBoolean("RanBefore", false); 
if (!ranBefore) { 
// first time 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putBoolean("RanBefore", true); 
editor.commit(); 
} 
return !ranBefore; 
} 
+0

我想我會用這個選擇。但是,如果我希望每月(一個月一次)插入數據,而不是像上面所示的那樣僅插入一次,你知道該怎麼做嗎? –

0

我假設你正在做的事情一樣登記的事情,並希望一次顯示此表單。你在這裏有很多選擇。

1)由於艾哈邁德(在評論中)說,使用SharedPreferences,並添加一些標誌,它可以告訴你,如果數據是否可用。在活動開始時添加一個支票/ onCreate並打開相應的內部/活動取決於支票。 2)你也可以使用Database來查看這個值。

我建議你使用SPLASH屏幕,檢查這個值/註冊數據到它。如果可用,則啓動活動A,否則啓動註冊/默認的一個。

+0

我目前選擇第二個,它有一些錯誤。這是我對代碼所做的事情,我檢查表中的特定行,如果它是空的,它將執行意圖(假設意圖爲A),但如果它不爲空,它將執行另一個意圖(意圖B)。問題是,在清單中,我選擇意圖B作爲默認的(在啓動屏幕之後)。它不能有2個意圖默認不能嗎? –

+0

你的默認意圖是SPLASH SCREEN/Activity(使其成爲Main)。從這裏你要麼根據你的情況去屏幕A或屏幕B. – AAnkit