當我們想要將一些數據攜帶到另一個應用程序組件時,我們使用額外的意圖。意圖只是一個關鍵的價值對。 我們首先將我們的鑰匙定義爲公共常數,並給它一個價值。例如爲什麼要初始化額外的密鑰?
public static final String extra_key = "com.example.myapp.MESSAGE";
我們還必須指定密鑰需要由意圖攜帶的數據。例如
String extra_value = editText.getText().toString();
然後我們作出這樣的意圖的一個額外的:
intent.putExtra(extra_key, extra_value);
我的問題:
爲什麼關鍵必須是公開的嗎?
爲什麼我們首先需要首先初始化密鑰,爲什麼我們不能只聲明它,因爲它將被分配一個值(數據到 由意圖傳送)。那麼我們爲什麼不能做一些像
public static final String extra_key;
我已閱讀,鍵值應該包括反向域名,以便它在其他情況下,包急跌是獨一無二的。但是,什麼是 的給它點一個唯一的值,無論如何是 指定的另一個值,這是 意圖所攜帶的數據。
在此先感謝您。
我從來沒有在應用程序中包含從一個活動發送數據到另一個活動的包名,這是沒有意義的。 – NickT
好吧,關鍵不包含數據,但價值確實,我理解但是我的問題stion是爲什麼我們需要爲鍵分配任何值,爲什麼我們不能將它聲明爲一個字符串,但不給它一個值?因爲我沒有看到任何地方使用「com.example.myapp.MESSAGE」。 – user2882662
@NickT,但文檔說'公共意圖putExtra(字符串名稱,字符串值)'將擴展數據添加到意圖。該名稱必須包含包前綴,例如com.android.contacts應用程序將使用「com.android.contacts.ShowAll」之類的名稱。儘管我自己並沒有使用它 – Raghunandan