2012-11-22 32 views
-3

林对此代码有一些怀疑。关于意图和putExtra()

public class MainActivity extends Activity { 
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    EditText editText = (EditText) findViewById(R.id.edit_message); 
    String message = editText.getText().toString(); 
    intent.putExtra(EXTRA_MESSAGE, message); 
  1. 为什么我们使用的EditText
  2. 铸造什么是putExtra(EXTRA_MESSAGE,消息)和它的使用?
  3. 为什么MY_MESSAGE分配给com.example.myfirstapp.MESSAGE?什么是com.example.myfirstapp.MESSAGE?
+0

也许你应该考虑阅读文档。这些都是非常基本的问题,可以通过Google搜索方法轻松回答。也会给你更多的背景输入:)和平! –

回答

2

1)由于findViewById()是它返回一个搜索

2)意图是用于去耦的通信的灵活的方式的通用方法,它像您发送(指定期望的动作和可选的额外数据的消息)。 putExtra()是一种允许您将信息嵌入您的意图的方法

3)Intent的额外数据基于键值存储。 EXTRA_MESSAGE是存储邮件的关键。你意图的接收者知道它可以从这个密钥中检索你的消息。

4)“com.example.myfirstapp.MESSAGE”是该键的实际值。它是一个任意值,必须由意图的发送者和接收者知道,以便他们通过意图进行通信

0

意图附加功能用于将数据参数传递给其他活动,因此如果要启动新的活动你想传递一个字符串到新的活动,你应该对你的意图增加额外的字符串作为您例如:EXTRA_MESSAGE是关键和消息对消息

扩展数据添加到意图。该名称必须包含包前缀,例如com.android.contacts应用程序将使用“com.android.contacts.ShowAll”之类的名称。

参数 name额外数据的名称,带有包前缀。 value字符串数据值。

返回 返回相同的Intent对象,用于将多个调用链接到单个语句中。