LibGDX从核心模块(MyGdxGame)中的android模块获取变量?

我使用的是AdMob和Firebase的集成,因此我使用的是AdView,AdRequest和MobileAds等。我在AndroidLauncher中使用了它们,效果很好,但是当尝试实现一个名为AdsManager的接口并创建类型为AdView的变量时,它可以解决不了。我猜是因为我不在android模块中。那么,当我进入Core模块(MyGdxGame)时,如何从AndroidLauncher中获取“ AdMob类型”变量?

示例: Android模块

AdsManager

package com.game.mygame.monetization;


public interface AdsManager {

    void showAds(boolean show);

}

Android启动器


public class AndroidLauncher extends AndroidApplication implements AdsManager {


private final String TAG = "AndroidLauncher";

private AdHandler adHandler; // Variable I want to reach from core module


static class AdHandler extends Handler {

    private final int ADS_SHOW = 1;

    private final int ADS_HIDE = 0;

    private AdView adBanner; // Variable I want to reach from core module


    @Override

    public void handleMessage(Message msg) {

        super.handleMessage(msg);


        switch (msg.what) {

            case ADS_SHOW:

                adBanner.setVisibility(View.VISIBLE);

                break;


            case ADS_HIDE:

                adBanner.setVisibility(View.GONE);

                break;

        }

    }

}


@Override

protected void onCreate (Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();

    RelativeLayout layout = new RelativeLayout(this);

    View view = initializeForView(new MyGdxGame(this), config);

    layout.addView(view);


    implementAds();

    requestAds(layout);


    // Sets the background image

    setContentView(layout);

}


public void implementAds() {

    // Implement ads

    MobileAds.initialize(this, "");


    adHandler = new AdHandler();

    adHandler.adBanner = new AdView(this);

    adHandler.adBanner.setAdListener(new AdListener() {

        @Override

        public void onAdLoaded() {

            super.onAdLoaded();

            Log.i(TAG, "Ad loaded ...");

        }

    });



尝试创建一个实现AdsManager的名为AndroidAdsManager的类时,它无法解析私有AdView变量,因为我猜想我不在android模块中了。


潇湘沐
浏览 155回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java