2016-08-24 39 views
-3

在這種情況下:的意圖有點小誤會 - 安卓

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 

我不明白爲什麼「價值」是「價值」? 最後,我只需要名稱「EXTRA_MESSAGE」作爲某個值的關鍵字。 爲什麼我們需要將值插入到鍵名中?

回答

0

你不需要命名爲「EXTRA_MESSAGE」,你需要爲變量EXTRA_MESSAGE值..

你聲明的變量是這樣的:

  • 市民:這樣它可以被訪問任何類
  • 最終:使得其不應被覆蓋或由子類改變
  • 靜態的:使得它可以在不產生 類,其中該變量是對象被訪問在於

您分配了值以保持一致性。

發送時:

Intent intent = new Intent(...); 
intent.putExtra(EXTRA_MESSAGE, ""); 

當接收:

Intent intent = getIntent(); 
intent.getStringExtra(EXTRA_MESSAGE); 

比方說,你不聲明這個變量,那麼您將使用硬編碼字符串「com.example.myfirstapp .MESSAGE「作爲參數。如果兩邊你拼寫錯誤的說法額外按鍵,說「Com.example.myfirstapp.MESSAGE」,發送您的代碼將不會工作。

Intent intent = new Intent(...); 
intent.putExtra("com.example.myfirstapp.MESSAGE", ""); 

當接收:

Intent intent = getIntent(); 
intent.getStringExtra("Com.example.myfirstapp.MESSAGE"); // this won't work 

希望你有這樣的聲明字符串的點... !!

+0

還是不明白:(.. 所以從一開始你應該發送的價值,但Java想讓你容易的事情,所以你可以「轉換」爲一個短的價值? –

+0

@mklkj我想你是不明確的Java概念..請把它優先考慮.. –

+0

虐待那樣..但在此之前。即時通訊對嗎?技術上我需要傳遞的價值..但因爲我想要一個簡單的生活,所以我做一個常數讓我的生活變得簡單嗎? –