Java tutorial
/* This file is part of Poke. Poke is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License. Poke is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Poke. If not, see <http://www.gnu.org/licenses/>. */ package com.andgate.pokeadot; import android.os.Bundle; import android.view.View; import android.graphics.Color; import android.view.Window; import android.view.WindowManager; import android.widget.RelativeLayout; import android.widget.RelativeLayout.LayoutParams; import com.badlogic.gdx.backends.android.AndroidApplication; import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdSize; import com.google.android.gms.ads.AdView; public class AndroidLauncher extends AndroidApplication { private static final String AD_UNIT_ID_BANNER = "ca-app-pub-1666441988446717/8374702183"; protected AdView adView; protected View gameView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); cfg.useAccelerometer = false; cfg.useCompass = false; cfg.hideStatusBar = true; cfg.numSamples = 16; // Do the stuff that initialize() would do for you requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); RelativeLayout layout = new RelativeLayout(this); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); layout.setLayoutParams(params); AdView admobView = createAdView(); layout.addView(admobView); View gameView = createGameView(cfg); layout.addView(gameView); setContentView(layout); if (BuildConfig.FREE) { startAdvertising(admobView); } } private AdView createAdView() { adView = new AdView(this); adView.setAdSize(AdSize.SMART_BANNER); adView.setAdUnitId(AD_UNIT_ID_BANNER); adView.setId(12345); // this is an arbitrary id, allows for relative positioning in createGameView() RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_TOP, RelativeLayout.TRUE); params.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); adView.setLayoutParams(params); adView.setBackgroundColor(Color.BLACK); return adView; } private View createGameView(AndroidApplicationConfiguration cfg) { gameView = initializeForView(new PokeADot(BuildConfig.FREE), cfg); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); params.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE); params.addRule(RelativeLayout.BELOW, adView.getId()); gameView.setLayoutParams(params); return gameView; } private void startAdvertising(AdView adView) { AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest); } @Override public void onResume() { super.onResume(); if (adView != null) adView.resume(); } @Override public void onPause() { if (adView != null) adView.pause(); super.onPause(); } @Override public void onDestroy() { if (adView != null) adView.destroy(); super.onDestroy(); } }