2016-11-16 5 views
-1

Ich bilde Wetter app.My Code funktioniert gut, aber es ist nicht ad showing.Below mein Code:Die folgenden Klassen können nicht instanziert werden: com.google.ads.AdView()

activity_main. xml

<com.google.ads.AdView 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/ad" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    ads:loadAdOnCreate="true" 
    app:adSize="BANNER" 
    app:adUnitId="......" > 
</com.google.ads.AdView> 

AndroidManifest.xml:

<activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

MainActivity.java

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 
. 
. 
. 
private AdView adview; 
. 
. 
AdRequest adRequest = new AdRequest(); 
    if(adview!=null) 
    { 
     adview.loadAd(adRequest); 
    } 

Der Fehler (Klassen konnten nicht instanziiert werden: com.google.ads.AdView) wird im grafischen Layout von activity_main.xml angezeigt. Gesucht viele Fragen, kann aber keine passende Antwort finden. Bitte helfen Sie.

+0

Sie benötigen GoogleAdMobAdsSdk-X.X.X.jar Datei zu Ihrem Projekt zu importieren. – Swathin

+0

Ich habe bereits die Datei GoogleAdMobAdsSdk-6.4.1.jar importiert. –

Antwort

0

Ich habe festgestellt, dass ich alt/veraltete Methode wurde verwendet. Zum Hinzufügen von Admob können Sie Eclipse jetzt nicht verwenden. Die Lösung ist (ohne Verwendung Feuerbasis):

Abhängigkeit in build.gradle hinzufügen (nach buildscript):

buildscript{ 
. 
. 
} 

dependencies{ 
     compile 'com.google.android.gms:play-services:6.5.87' 
} 

Code hinzufügen MainActivity.java

adview = (AdView) findViewById(R.id.ad); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adview.loadAd(adRequest); 

add Code activity_main.xml

<com.google.android.gms.ads.AdView 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/ad" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/ad_id"> 
    </com.google.android.gms.ads.AdView> 

In AndroidManifest.xml

<meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 
     <activity 
      android:name="com.google.android.gms.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" /> 

add Code außerhalb des Tags in AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
1

Google hat etwas Neues in Firebase-Anzeigen aktualisiert.

In Ihrer gradle Datei hinzufügen com.google.firebase: Feuerbasis-Anzeigen

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 

    compile 'com.google.firebase:firebase-ads:9.8.0' 
} 

mehr Details how to integrate the Google Mobile Ads SDK

+0

Ich mache in Eclipse, also, wie man Abhängigkeit hinzufügt. Entschuldigung, aber warum abgelehnt. –

+0

siehe http://stackoverflow.com/questions/25123447/admob-new-adrequest-unrecognized-by-eclipse – sasikumar

+0

Ich mache das gleiche als Antwort. Ich vermische die alte/veraltete admob api nicht mit der neuen admob api. Ich habe nur alte admob api verwendet. –

Verwandte Themen