Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 没有XML的Android AdMob_Java_Android_Eclipse_Admob - Fatal编程技术网

Java 没有XML的Android AdMob

Java 没有XML的Android AdMob,java,android,eclipse,admob,Java,Android,Eclipse,Admob,我有一个巨大的问题要问,因为我真的被困在这个问题上,这将是为了在我的免费应用程序上获得广告而创建的,好吧,首先我一直在关注这本书 2011年开始安卓游戏 http://www.apress.com/9781430230427 现在,这本书实现了一个非常好的简单的游戏框架,我使用它(一个更简单的版本可以在这里找到) http://www.kilobolt.com/day-5-the-android-game-framework-part-i.html 现在这个框架不使用任何类型的XML文件,它

我有一个巨大的问题要问,因为我真的被困在这个问题上,这将是为了在我的免费应用程序上获得广告而创建的,好吧,首先我一直在关注这本书

2011年开始安卓游戏

http://www.apress.com/9781430230427
现在,这本书实现了一个非常好的简单的游戏框架,我使用它(一个更简单的版本可以在这里找到)

http://www.kilobolt.com/day-5-the-android-game-framework-part-i.html
现在这个框架不使用任何类型的XML文件,它使用帧缓冲区在屏幕上绘制东西

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    boolean isPortrait = getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
    int frameBufferWidth = isPortrait ? 480: 800;
    int frameBufferHeight = isPortrait ? 800: 480;
    Bitmap frameBuffer = Bitmap.createBitmap(frameBufferWidth,
            frameBufferHeight, Config.RGB_565);

    float scaleX = (float) frameBufferWidth
            / getWindowManager().getDefaultDisplay().getWidth();
    float scaleY = (float) frameBufferHeight
            / getWindowManager().getDefaultDisplay().getHeight();

    renderView = new AndroidFastRenderView(this, frameBuffer);
    graphics = new AndroidGraphics(getAssets(), frameBuffer);
    fileIO = new AndroidFileIO(this);
    audio = new AndroidAudio(this);
    input = new AndroidInput(this, renderView, scaleX, scaleY);
    screen = getInitScreen();

    setContentView(renderView);

    PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "MyGame");
}
在这里我可以在哪里尝试实现admob横幅?这也是screen类的外观

public LogoScreen(Game game)
{
    super(game);
}

@Override
public void update(float deltaTime)
{
    Graphics g = game.getGraphics();
    List<TouchEvent> touchEvents = game.getInput().getTouchEvents();

    int len = touchEvents.size();

    for(int i = 0; i < len; i ++)
    {
        try
        {
            TouchEvent event = (TouchEvent) touchEvents.get(i);
            if(event.type == TouchEvent.TOUCH_DOWN)
            {
                game.setScreen(new MainMenuScreen(game));
            }
        }
        catch(IndexOutOfBoundsException io)
        {

        }
    }

}

@Override
public void paint(float deltaTime) 
{
    Graphics g = game.getGraphics();
    g.drawImage(Assets.logoScreen, 0, 0);
}

@Override
public void pause() {
    // TODO Auto-generated method stub

}

@Override
public void resume() {
    // TODO Auto-generated method stub

}

@Override
public void dispose() {
    // TODO Auto-generated method stub

}

@Override
public void backButton() 
{
    android.os.Process.killProcess(android.os.Process.myPid());
}

创建布局容器并将AdView和renderView放入其中:

RelativeLayout layout = new RelativeLayout(this);
AdView adView = new AdView(this, AdSize.BANNER, "a151bf25136cf46");
layout.addView(renderView);
layout.addView(adView);
setContentView(layout);
adView.loadAd(new AdRequest());
编辑2020:

上面的代码已经有7年的历史了,从那以后Google Mobile Ads SDK发生了很大的变化

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
adView.loadAd(new AdRequest.Builder().build());
setContentView(layout);

创建布局容器并将AdView和renderView放入其中:

RelativeLayout layout = new RelativeLayout(this);
AdView adView = new AdView(this, AdSize.BANNER, "a151bf25136cf46");
layout.addView(renderView);
layout.addView(adView);
setContentView(layout);
adView.loadAd(new AdRequest());
编辑2020:

上面的代码已经有7年的历史了,从那以后Google Mobile Ads SDK发生了很大的变化

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
AdView adView = new AdView(this);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
adView.loadAd(new AdRequest.Builder().build());
setContentView(layout);

我昨晚试过了,结果很酷,请在活动的
Oncreate()
中查看我的代码:

 LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.setGravity(Gravity.BOTTOM|Gravity.CENTER);

    // Create a banner ad
    mAdView = new AdView(this);
    mAdView.setAdSize(AdSize.SMART_BANNER);
    mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");



    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
    MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");



    /*For Test On Real Device*/
    AdRequest adRequest=  new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);



    LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setId(R.id.linear);
    linearLayout.setGravity(Gravity.BOTTOM | Gravity.CENTER);


    LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0, 9f);
    layoutParams1.gravity = Gravity.TOP;
    view.setLayoutParams(layoutParams1);

    int heightPixels = AdSize.FULL_BANNER.getHeightInPixels(this);

    LinearLayout.LayoutParams layoutParams2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, heightPixels, 0f);
    layoutParams2.gravity = Gravity.BOTTOM;
    mAdView.setLayoutParams(layoutParams2);

    layout.addView(view);
    layout.addView(mAdView);


    // Start loading the ad.
    setContentView(layout);

这将显示底部的广告,GL;)

我昨晚试过,结果很酷,请参见活动的
Oncreate()
中的我的代码:

 LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.setGravity(Gravity.BOTTOM|Gravity.CENTER);

    // Create a banner ad
    mAdView = new AdView(this);
    mAdView.setAdSize(AdSize.SMART_BANNER);
    mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");



    // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
    MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");



    /*For Test On Real Device*/
    AdRequest adRequest=  new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);



    LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setId(R.id.linear);
    linearLayout.setGravity(Gravity.BOTTOM | Gravity.CENTER);


    LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0, 9f);
    layoutParams1.gravity = Gravity.TOP;
    view.setLayoutParams(layoutParams1);

    int heightPixels = AdSize.FULL_BANNER.getHeightInPixels(this);

    LinearLayout.LayoutParams layoutParams2 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, heightPixels, 0f);
    layoutParams2.gravity = Gravity.BOTTOM;
    mAdView.setLayoutParams(layoutParams2);

    layout.addView(view);
    layout.addView(mAdView);


    // Start loading the ad.
    setContentView(layout);


这将显示底部的广告,GL;)

我猜这与
androidFasterEnderView
有关,因为这是传递给
setContentView
的内容,我已经用FastRenderView更新了我的帖子FastRenderView codeFastRenderView是
SurfaceView
的扩展,现在是凌晨2:30,我正在慢慢入睡:p为链接欢呼,我试着把它添加到我的FastAnroidRender中“AdView AdView=new AdView(这个,AdSize.BANNER,“a151bf25136cf46”);“但是声明没有一个方法在末尾使用字符串,我知道如何修复它吗?”?这个链接对我也没有帮助,因为它没有提供足够的代码。我猜它与
androidFastEnderView
有关,因为这是传递给
setContentView
的内容。我已经用FastRenderView代码更新了我的帖子FastRenderView是
SurfaceView
的扩展。这是我不久前将给出的一个链接,现在是凌晨2:30,我正在慢慢入睡:p为链接干杯,我会试一试,然后在我试图将此添加到FastAnroidRender的时候给你回复“AdView AdView=new AdView(这个,AdSize.BANNER,“a151bf25136cf46”);“但是国家没有一个方法在结尾使用字符串,我知道如何解决这个问题吗?另外,这个链接也帮不了我,因为它没有提供足够的代码。这是res文件夹中的一个xml文件吗?您可以直接在代码中创建它。尝试替换
setContentView(renderView)在您的代码中使用上面的代码。你可能需要使用布局参数来让它看起来恰到好处,但这会在你的renderView上放置一个横幅。我也有同样的问题,我试过你的代码,一切正常,但广告没有出现。如果您已经解决了您的问题,请您添加您是如何解决的信息。这是不正确的。。请把它修好。我不能在当前SDK的allUpdated上使用它。那是res文件夹中的xml文件吗?您可以直接在代码中创建它。尝试替换
setContentView(renderView)在您的代码中使用上面的代码。你可能需要使用布局参数来让它看起来恰到好处,但这会在你的renderView上放置一个横幅。我也有同样的问题,我试过你的代码,一切正常,但广告没有出现。如果您已经解决了您的问题,请您添加您是如何解决的信息。这是不正确的。。请把它修好。我不能在当前SDK的更新版本中使用它。