2014-05-19 1 views
0

Я создал пустое приложение только с объявлением, и оно закрывается, когда оно загружается. Вот что я сделал:У меня нет ошибок, и объявления не будут отображаться (Force Close)

добавил библиотеку Google-стыковые услуг для проекта вставленной тег мета-данных вставлено разрешения тег вставили тег активности вставленную строку Xmlns и com.google тег в фрагменте xml импортированный com.google ... в главный java добавлен код объявления в основной java сохранен.

Есть нулевые ошибки, и на графическом дисплее отображается поле с надписью «ads by google», но показывается реклама. Когда я пытаюсь запустить его в эмуляторе, сила приложения закрывается. Я что-то пропустил? Спасибо, парни!

package com.example.abc; 

import com.google.android.gms.ads.*; 
import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.ActionBar; 
import android.support.v4.app.Fragment; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.os.Build; 

public class MainActivity extends ActionBarActivity { 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     AdView adView = (AdView)this.findViewById(R.id.adView); 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     adView.loadAd(adRequest); 
     AdRequest request = new AdRequest.Builder() 
     .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // All emulators 
     .build(); 

     if (savedInstanceState == null) { 
      getSupportFragmentManager().beginTransaction() 
        .add(R.id.container, new PlaceholderFragment()) 
        .commit(); 
     } 

    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

    /** 
    * A placeholder fragment containing a simple view. 
    */ 
    public static class PlaceholderFragment extends Fragment { 

     public PlaceholderFragment() { 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) { 
      View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
      return rootView; 
     } 
    } 

} 
+0

В нем говорится, что в главной java существует ошибка nullpoint. Я ничего не менял в java, кроме добавления небольшого кода и части импорта из руководства. В нем говорится, что это строка 27, которая является лидирующей линией? В чем может быть проблема? – user3648673

+0

Можете ли вы разместить код? И вы добавили идентификатор эмулятора в строку добавления тестового устройства в свой код Java прямо? –

+0

У меня есть строка, в которой говорится о добавлении идентификатора эмулятора, но я просто оставил его так, потому что все, что я читал, сказал, что если бы он был там, он должен работать. Я не нашел ничего в logcat, у которого было определенное число, чтобы положить туда? Вот первая часть основного кода Java: 'code' package com.example.abc; import com.google.android.gms.ads. *; Открытый класс MainActivity расширяет ActionBarActivity { @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); AdView adView = (AdView) this.findViewById (R.id.adView); 'code' – user3648673

ответ

0

ОК спасибо, что ссылка работает, и я просмотрел код.
Я отредактировал ваш вопрос, чтобы включить код. Не могли бы вы попробовать это так, пожалуйста:
И вместо того, чтобы просто импортировать import com.google.android.gms.ads.*;
Попробуйте использовать:

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
adView = new AdView(this); //I couldn't see this line in your code. It goes under the line setContentView(R.layout.activity_main); 
    AdView adView = (AdView) this.findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder() 
    .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
    .build(); 
    adView.loadAd(adRequest); 

И дайте мне знать, что происходит. Также как у вас есть настройка объявлений в вашем XML?

+0

Я положил это, и «adView» в строке «adView = новый AdView» подчеркивается красным как ошибка. Он предлагает создать локальную переменную, но затем делает другую часть красной, чтобы она не работала. Я обновил эту ссылку еще раз, чтобы включить код для xml и манифест. Вот ссылка еще раз: http://androidforums.com/application-development/848598-nullpointerexception-error-problem.html # post6573785 – user3648673

+0

Да над методом onCreate, который вы должны поставить: private Adview adview; можете ли вы вставить свой XML-код в комментарий, поскольку ссылка не работает, страница продолжает обновлять –

+0

слишком долго ... ahhh вот оно. [CODE] user3648673