0

我试图通过使它们成为我的 xml 布局的一部分来包含广告,我在此快速入门指南中注意到:https ://developer.amazon.com/sdk/mobileads/quick-start.html它说您应该拥有命名空间作为“xmlns:Amazon="http://schemas.android.com/apk/res/"”。但是,当我尝试这个 intelij 时,它说从未使用过命名空间,并且广告从未出现在布局中。我查看了 sdk 中提供的示例,对于他们的命名空间,他们没有使用他们的包名,而是:“xmlns:Amazon="http://schemas.android.com/apk/lib/com.amazon.device。广告“”。所以我想知道我应该使用什么正确的命名空间

4

1 回答 1

1

我在这个快速入门指南中注意到它说您应该将命名空间设置为“xmlns:Amazon="http://schemas.android.com/apk/res/"”

我查看了 sdk 中提供的示例,对于他们的命名空间,他们没有使用他们的包名,而是:“xmlns:Amazon="http://schemas.android.com/apk/lib/com.amazon.device。广告""

第一个说法是不正确的。在快速入门指南中,它实际上说命名空间应该是:

xmlns:Amazon="http://schemas.android.com/apk/res/<type your package name>"

注意最后一部分。这很重要,因为这正是您提出这个问题的不同之处。

与 Android 上的任何自定义视图一样,如果您想使用 Android 命名空间未涵盖的一个或多个属性,您必须首先声明它们的位置。通常,这意味着您复制上面的行并附加项目的包名称。前缀几乎可以是您喜欢的Amazon任何东西,但给命名空间一个与其定义相关的名称是有意义的。

在这种情况下,声明Amazon命名空间允许Amazon:adSize在布局文件中使用属性。如果没有该声明,您的 IDE 将不知道在哪里查找该adSize属性。

话虽如此,如果您不使用任何自定义属性,那么声明命名空间就没有意义,因为您不会使用它。这基本上就是 IntelliJ 告诉你的。换句话说:如果您没有Amazon:adSize在布局中使用,您可以安全地删除 Amazon 命名空间声明。

于 2013-07-28T19:20:33.820 回答