2016-03-20 4 views
1

Google Admobをプロジェクトに統合しようとしていますが、問題が発生しています。私は最初にプロジェクトを進めます。Google Admob on Nullオブジェクトリファレンス

私のプロジェクトは、2つのメインJavaファイルと約7つの.xmlファイルで構成されています。 .xmlファイルは図形であり、.xmlファイルは線形レイアウトでも相対的なレイアウトでもありません。私のメインJavaファイルでは、それらの.xmlファイルの図形を画面に描画します。だから、自分のプロジェクトの.xmlレイアウトには依存しません。

SHAPEの.XMLファイルの例

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemes.android.com/apk/res/android" 
> 

<solid android:color="#000" /> 
<corners 
android:bottomLeftRadius="15dp" 
android:bottomRightRadius="15dp" 
android:topLeftRaidus="17dp" 
android:topRightRadius="17dp" /> 
</shape> 

だから私は私のプロジェクトにGoogle広告を追加しようとしていますので、私は、Googleの広告の.xmlコードを追加する必要があります。しかし、私は確かにどこではない。広告の.xmlコードをシェイプの.xmlコードの1つに配置すると、「ここに配置できません」というエラーが表示されます。

私はちょっと考えて、自分のプロジェクトを作成したときに作成された.xmlレイアウトファイルが残っていることに気付きました。だから、そこに私の広告.xmlコードを追加し、エラーはありませんでした。そこで次にmainactivity.javaのJavaコードをoncreateに追加しました。エラーはありませんでした。

私は2つのJavaファイルを持っています.1つは私のmainactivity.java、もう1つはMV.javaです。 My MV.javaは、すべての.xml図形を画面に描画する場所です。

私のJavaコードは次のようになります。

protect void onCreate(bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
view = new MV(this); 

Adview adView = (AdView) this.findViewById(R.id.adView); 
AdRequest adRequest = new AdRequest.builder().build(); 
adView.loadAd(adRequest); 

} 

私は私のJavaコードでエラーを得ることはありません。だから私は私のアプリケーションを実行し、私の広告を持っていると思った。しかし、私は私のアプリを実行すると、このエラーが発生します。

Attempt to invoke virtual method 'void com.google.android.gms.ads.Adview.loadAd(com.google.android.gms.ads.Adrequest)' on a null object reference 

また、私のbuild.gradleとandroidmanifest.xmlにGoogleの広告コードを追加しました。

どのように広告を掲載することができますか?

+0

上記のコードでsetContentViewをセットアップした場所はありますか? –

+0

私の作成中、MainActivity.java – user6089863

+0

あなたの完全なMainActivity.javaコードを投稿してください。 –

答えて

0

adViewがnullであるため、NullPointerExceptionが発生しています。

XMLでAdViewを宣言する必要があります。 フラグメント/アクティビティによってロードされたレイアウトで宣言する必要があります。

関連する問題