Android admob与活动

Android admob与活动,android,admob,android-activity,Android,Admob,Android Activity,在过去的几周里,我一直在尝试设置这个,但没有成功。如何将这两块代码放在同一个Java类中 private int entries = 6; private String phoneNum[]; private String buttonLabels[]; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.

在过去的几周里,我一直在尝试设置这个,但没有成功。如何将这两块代码放在同一个Java类中

private int entries = 6;
private String phoneNum[];
private String buttonLabels[];

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    phoneNum = new String[entries];
    buttonLabels = new String[entries];

    // Populate the data arrays
    populateArrays();

    // Set up buttons and attach click listeners

    Button button1 = (Button)findViewById(R.id.button1);
    button1.setText(buttonLabels[0]);
    button1.setOnClickListener(this);

    Button button2 = (Button)findViewById(R.id.button2);
    button2.setText(buttonLabels[1]);
    button2.setOnClickListener(this);

    Button button3 = (Button)findViewById(R.id.button3);
    button3.setText(buttonLabels[2]);
    button3.setOnClickListener(this);

    Button button4 = (Button)findViewById(R.id.button4);
    button4.setText(buttonLabels[3]);
    button4.setOnClickListener(this);

    Button button5 = (Button)findViewById(R.id.button5);
    button5.setText(buttonLabels[4]);
    button5.setOnClickListener(this);

    Button button6 = (Button)findViewById(R.id.button6);
    button6.setText(buttonLabels[5]);
    button6.setOnClickListener(this);
}

// Launch the phone dialer

public void launchDialer(String number){
    String numberToDial = "tel:"+number;
     startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(numberToDial)));
}


/** Method to populate the data arrays */

public void populateArrays(){

    /** In a practical application the arrays phoneNum and buttonLabels could be 
     * updated dynamically from the Web in this method.  For this project we just 
     * hard-wire in some values to illustrate how to use such data, once obtained,
     * to make phone calls.*/

    phoneNum[0] = "000-000-0001";
    phoneNum[1] = "000-000-0002";
    phoneNum[2] = "000-000-0003";
    phoneNum[3] = "000-000-0004";
    phoneNum[4] = "000-000-0005";
    phoneNum[5] = "000-000-0006";

    buttonLabels[0] = "Jane D. Arc";
    buttonLabels[1] = "John Doe";
    buttonLabels[2] = "Jane Doe";
    buttonLabels[3] = "Abe Linking";
    buttonLabels[4] = "Mona Liza";
    buttonLabels[5] = "Issac Nuton";
}

/** Process button events */

@Override
public void onClick(View v) {
    switch (v.getId()) {

        case R.id.button1:
            launchDialer(phoneNum[0]);
            break;

        case R.id.button2:
            launchDialer(phoneNum[1]);
            break;

        case R.id.button3:
            launchDialer(phoneNum[2]);
            break;

        case R.id.button4:
            launchDialer(phoneNum[3]);
            break;

        case R.id.button5:
            launchDialer(phoneNum[4]);
            break;

        case R.id.button6:
            launchDialer(phoneNum[5]);
            break;

    }
}
当我试图覆盖
onStart()
时,应用程序崩溃

public void onStart(){
    super.onStart();
    AdView layout = (AdView)this.findViewById(R.id.adView);
    // Initiate a generic request to load it with an ad
    AdRequest adRequest = new AdRequest();
    adRequest.setTesting(true);
    layout.loadAd(adRequest); 
} 
我知道问题在于这一行:

public void onStart(){

如果您只是想让AdMob工作,那么不应该使用onStart。改用onCreate

它位于添加com.google.ads.AdView部分下方的

如果xml中已有AdView,则可以获取它并加载一个AdRequest。如果没有,文档的示例将动态添加一个


您还需要确保调用.destroy();在视图上,因此您需要覆盖onDestroy函数。这都在文档的示例中。

我真的不明白。。。你试过把@Override放在“public void onStart(){”行上吗?是的,我放过。问题是,当我每次放代码时,应用程序都会崩溃,但当我放两个块时,应用程序会崩溃。你能提供崩溃的堆栈跟踪吗?