我试图通过使它们成为我的 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。广告“”。所以我想知道我应该使用什么正确的命名空间
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 命名空间声明。