GoogleAdMobの申請③ Javaに手を付けます③
前ページの続きです。
Googleで"mAdView = findViewById(R.id.adView);"を検索。
同様の事例がありますね。(前ページも検索結果に表示されていますが)
[Android] Android Studio でのAdMob広告の実装
https://akira-watson.com/android/admob-google-play-service.html
上のリンクが懇切丁寧ですので、こちらを追いかけたいと思います。
・・・・・・
色々試しましたが、同じエラー。
R.id.adViewとは、なんぞや?という事で、少し上にある"R.layout.activity_main"を調べてみました。
以下のサイトが、非常に参考になりました。
【Hello world!の仕組み2】 MainActivity.java と activity_main.xmlについて | 一番かんたんなJava入門
https://nobuo-create.net/activity-main/
これによると、コード"setContentView(R.layout.activity_main);"とは
"setContentView"のためにxmlファイル:"android\app\src\main\res\layout\activity_main.xml"を
読み込むんでいるという事ですね。
すなわち、今起きているエラーは"android\app\src\main\res\"下に、"id\adView.xml"が存在しないという事?
実の所、このXMLの中身は予想ついていますので(バナー設置の項で出てくる中身以外無いですよね?)、試しに、作ってみます。
ビルド → 同じエラー
------------------------------------------
mAdView = findViewById(R.id.adView);
^
シンボル: 変数 adView
場所: クラス id
------------------------------------------
う~ん、遠くは無いと思うのですが近くも無い?
よくよく見ると"import"のGoogle.なんとかも軒並み解決できないと言ってます。
(その辺は、読み込みの関係でそういう事もあるらしいとの記述有り)
ちょっとXML利用は駄目そうなので、コードのみの記述で実装。
これは、インストール成功するも、『繰り返し停止』のよろしくない結果
さて、そうなるとどうする?
考えてみると、一番おかしいのは繰り返し停止しているという事です。
コードをコメント化して、どこまで大丈夫かを調べると、
------------------------------------------
// Relative layout インスタンス生成
RelativeLayout layout = new RelativeLayout(this);
------------------------------------------
で、この現象が起きることを確認。
軽く調べると
RelativeLayoutとは
基準となるパーツを決め、それとの相対的な関係で位置を決めていくというレイアウトです。
との事
これ、このタイミングでレイアウトが無いのが原因じゃないのだろうか?
これを飛ばしてSDKの初期化だけを行うと、問題ない。
解決できるかはともかく、レイアウトや設置のコードを別の場所に引っ越せば、うまく行くかもしれない・・・
それが可能であればXMLであろうがコードであろうが、何とかなりそうではあります。
白旗上げるまで、もうちょっと調べてみます。