gpt4 book ai didi

android - Intent::putExtra() 和 EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:59 25 4
gpt4 key购买 nike

我的代码是follows:

首先,我想知道第 20 行:

我有两个问题:

一个。为什么 MY_MESSAGE 分配给 com.example.myfirstapp.MESSAGE?b. com.example.myfirstapp.MESSAGE 是什么?C。我从来没有在任何地方发过消息;这是像 r.java 文件中的变量一样自动创建的,还是我需要在某个地方创建它?

其次,关于第 40 行:intent.putExtra(EXTRA_MESSAGE, message);

我不确定此方法是否会向即将调用的 Activity 添加消息或什么...部分地,由于不完全了解 Intent 的要点,我正在努力理解这一点。 我想阅读我的 200 基础部分,了解所有内容,但我已经设定了截止日期,我被告知暂时不要对这个项目采用这种方法

给出了 Android Docs 的解释,我知道一个 Intent 是:

The Intent itself, an Intent object, is a passive data structure holding an abstract description of an operation to be performed

A.) 有人可以解释 Intent 的用途或提供一些比文档更好的快速文章吗?

B.) 更清楚地解释 putExtra( ) 的作用和这些参数:

  • name 额外数据的名称,带包前缀。
  • value String数组数据值

最佳答案

Intent 被恰本地命名;这就是你想要完成的。作为the documentation说:

Its most significant use is in the launching of activities, where it can be thought of as the glue between activities. It is basically a passive data structure holding an abstract description of an action to be performed.

根据您的代码,您熟悉通过Intent 启动Activity:

new Intent(this, DisplayMessageActivity.class);

这使用您当前的 Activity 作为启动 Intent 的上下文,并提供要启动的目标类。我想你已经知道了。基本上,Intent 只是 Android 设备要遵循的指南,以便它使用正确的信息启动正确的目标。

关于你真正的问题:

  1. “Intent 是什么?”这在上面已经描述过;基本上,它用于告诉操作系统您的目标是什么、它来自哪里以及它应该提供什么数据。您已经在不知不觉中看到了其中的大部分内容; this constructor是您一直在使用的那个,详细说明了“从”和“到”部分。当您使用 putExtra 时,您正在向 Intent 提供它可以提供给代码的“to”部分的数据。
  2. name 参数最好由文档总结:“额外数据的名称,带有包前缀。”这就像 HashMap 中的键;它是您正在打包的内容的字符串标识符。他们告诉你使用你的包的前缀,只是为了防止混淆。在您的情况下,您应该使用“com.SG.Three_Piece_Radio.YOURKEYNAME”; this 不必在任何地方声明,也不是常量。只是一个字符串。该值只是额外内容(数据);这可以是很多不同的东西——shortintStringParcelable 等等。 (这些都可以在 the Intent docs 中的各种 putExtra 中找到。)

收到您的Intent 后,您可以使用这些相同的数据位(例如,String myStr = getIntent().getStringExtra("com.SG.Three_Piece_Radio.YOURKEYNAME") ;) 并在你调用的 Activity 中用它们做任何你想做的事情。

关于android - Intent::putExtra() 和 EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com