如何在layout.xml中声明元素

时间:2014-06-02 13:47:22

标签: android xml eclipse sdk

我今天刚刚开始玩android / sdk,对于这个非常愚蠢的问题感到抱歉,但我正在学习。

我正在使用eclipse,我已经将一些代码放入我项目的java文件中,以便将应用程序连接到广告服务器并且工作正常,当我启动应用程序时,我得到了我的广告横幅。 我已经导入了android sdk和广告提供商sdk。

现在,我想在我在布局xml中创建的一些对象之间插入横幅。

所以,我在layout文件夹下有fragment_main.xml,我把下面的xml:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:opensdk="http://schemas.android.com/apk/res/com.example.myfirstapp"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:orientation="horizontal" >

    <Button
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/button_send"
       android:onClick="sendMessage" />


    <com.appnexus.opensdk.BannerAdView
       android:id="@+id/banner"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:placement_id="YOUR PLACEMENT ID"
       android:auto_refresh="true"
       android:auto_refresh_interval="30"
       android:opens_native_browser="true"
       android:adWidth="320"
       android:adHeight="50"
       android:should_reload_on_resume="true"
       android:opens_native_browser="true"
       android:expands_to_fit_screen_width="false"
       />

现在与

相对应
    <com.appnexus.opensdk.BannerAdView 

我收到此错误:

Multiple annotations found at this line:
    - error: No resource identifier found for attribute 'auto_refresh_interval' in package 'android'
    - error: No resource identifier found for attribute 'adHeight' in package 'android'
    - error: No resource identifier found for attribute 'expands_to_fit_screen_width' in package 
     'android'
    - error: No resource identifier found for attribute 'should_reload_on_resume' in package 
     'android'
    - error: No resource identifier found for attribute 'placement_id' in package 'android'
    - error: No resource identifier found for attribute 'adWidth' in package 'android'
    - error: No resource identifier found for attribute 'opens_native_browser' in package 'android'
    - error: No resource identifier found for attribute 'auto_refresh' in package 'android'

那么,我在哪里声明所有这些属性?它必须与这条路径有关:  的xmlns:opensdk = “http://schemas.android.com/apk/res/com.example.myfirstapp”

如果你能提供帮助,请告诉我,对不起的信息感到抱歉!

2 个答案:

答案 0 :(得分:1)

更改此

<com.appnexus.opensdk.BannerAdView
       android:id="@+id/banner"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:placement_id="YOUR PLACEMENT ID"
       android:auto_refresh="true"
       android:auto_refresh_interval="30"
       android:opens_native_browser="true"
       android:adWidth="320"
       android:adHeight="50"
       android:should_reload_on_resume="true"

       android:expands_to_fit_screen_width="false"
       />

  <com.appnexus.opensdk.BannerAdView
           android:id="@+id/banner"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           opensdk:placement_id="YOUR PLACEMENT ID"
           opensdk:auto_refresh="true"
           opensdk:auto_refresh_interval="30"
           opensdk:opens_native_browser="true"
           opensdk:adWidth="320"
           opensdk:adHeight="50"
           opensdk:should_reload_on_resume="true"

           opensdk:expands_to_fit_screen_width="false"
           />

因为您将横幅视图的自定义命名空间用作

xmlns:opensdk="http://schemas.android.com/apk/res/com.example.myfirstapp"

答案 1 :(得分:0)

正如您所见here - 为了使用appnexus你应该这样做:

步骤1.下载代码。

如果您有gitbash,可以使用此命令从{github>下载git clone git@github.com:appnexus/mobile-sdk-android.git

您也可以使用浏览器访问https://github.com/appnexus/mobile-sdk-android并将其下载到.zip文件中。

步骤2.将appnexus SDK 导入为库

使用Android IDE将sdk目录导入工作区作为库

步骤3.添加活动

您必须将以下活动添加到清单,才能使SDK正常运行:

<application
  <activity android:name="com.appnexus.opensdk.AdActivity" />
</application>

步骤4.编辑应用程序权限

修改Android 清单以包含此应用所需的权限:

<!-- Add the permissions here... -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

你可能知道:

ACCESS_NETWORK_STATE(必填) - 授予SDK权限以检查实时互联网连接。

INTERNET(必填) - 授予SDK访问互联网的权限。

ACCESS_COARSE_LOCATION(推荐) - 授予SDK权限,以便根据手机信号塔访问大致位置。

ACCESS_FINE_LOCATION(推荐) - 授予SDK权限,以便根据GPS访问更准确的位置。

祝你一切顺利!