Android admob与活动
在过去的几周里,我一直在尝试设置这个,但没有成功。如何将这两块代码放在同一个Java类中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.
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(){”行上吗?是的,我放过。问题是,当我每次放代码时,应用程序都会崩溃,但当我放两个块时,应用程序会崩溃。你能提供崩溃的堆栈跟踪吗?