2014-05-19 2 views
0

광고가있는 빈 앱을 만들었는데 광고가로드 될 때 강제 종료됩니다. 내가했던 Heres는 무엇을 :오류가없고 광고가 표시되지 않음 (강제 종료)

이 권한 태그 이 조각에서의 xmlns 라인과 com.google 태그를 삽입 활동 태그 을 삽입 삽입 메타 데이터 태그 를 삽입 프로젝트에 구글 플레이-서비스 라이브러리를 추가 xml com.google ...을 (를) 메인 자바에 가져 오기 메인 자바에 adview 코드를 추가했습니다. .

오류가 0이고 그래픽 디스플레이에 '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

메인 자바에 널 포인트 예외가 있다고합니다. 나는 작은 코드와 가이드에서 가져 오기 부분을 추가하는 것 이외에 자바에서 아무것도 변경하지 않았다. 그것은 라인 27, adrequest 라인 말합니? 무엇이 문제 일 수 있습니까? – user3648673

+0

몇 가지 코드를 게시 할 수 있습니까? 그리고 자바 코드에서 테스트 장치 라인 추가에 에뮬레이터 ID를 추가 했습니까? –

+0

내가 에뮬레이터 ID를 추가한다고 말하는 라인이 있지만, 내가 읽었던 모든 것이 거기에 있다면 작동 할 것이라고 말했기 때문에 그냥 그대로 두었다. 나는 거기에 넣을 특정한 번호를 가지고 logcat에서 아무것도 찾지 못했습니까? 다음은 주요 Java 코드의 첫 번째 부분입니다. 'code'package com.example.abc; import com.google.android.gms.ads. *; 공용 클래스 MainActivity는 ActionBarActivity를 확장합니다. { @Override protected void onCreate (savedInstanceState 번들) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); AdView adView = (AdView) this.findViewById (R.id.adView); '코드' – 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 = new AdView'행의 'adView'에 빨간색으로 밑줄이 그어져 있습니다. 그것은 지역 변수를 만들 것을 제안하지만 그것은 다른 부분을 빨간색으로 만들어서 작동하지 않습니다. xml 및 매니페스트에 대한 코드를 포함하도록 링크를 다시 업데이트했습니다. 링크는 다음과 같습니다. http://androidforums.com/application-development/848598-nullpointerexception-error-problem.html # post6573785 – user3648673

+0

네 onCreate 메소드 위에 있어야합니다. private Adview adview; 링크가 작동하지 않아서 xml 코드를 주석에 붙여 넣을 수 있습니까? –

+0

페이지가 상쾌하게 유지됩니다 ... 너무 오래 ... 아. [CODE] xmlns : tools = "http://schemas.android.com/tools" xmlns : ads = " http://schemas.android.com/apk/res-auto " android : id ="@ + id/linearlayout " android : layout_width ="match_parent " android : layout_height ="match_parent " android : paddingBottom =" @ DIMEN/activity_vertical_margin " 로이드 : paddingLeft ="@ DIMEN/activity_horizontal_margin " 로이드 : paddingRight ="@ DIMEN/activity_horizontal_margin " 로이드 : paddingTop ="@ DIMEN/activity_vertical_margin " [/ CODE] – user3648673

관련 문제