2012-07-12 42 views
-1

我一直在試圖設置此爲過去的幾個星期,但沒有成功。我怎樣才能把這兩塊代碼放在同一個Java類中?AdMob和活動

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(){ 
+0

我真的不明白...你有沒有試圖把@Override放在「public void onStart(){」這行? – sabadow 2012-07-12 13:21:20

+0

是的,我做到了。事情是,當我把代碼的時候每一個,應用dosent崩潰,但是當我把兩個塊的應用程序崩潰。 – user1427211 2012-07-12 19:55:34

+0

你能提供崩潰的堆棧跟蹤嗎? – 2012-07-12 22:51:35

回答

1

如果你只是想獲得AdMob的工作,你不應該使用在onStart。改用你的onCreate。

它在Google Admob documentation下的添加com.google.ads.AdView部分。

如果你已經在你的XML的AdView中,你可以得到它,並加載AdRequest中。如果您不這樣做,那麼文檔的示例會動態添加一個。

您還需要確保你打電話.destroy();在視圖上,所以你需要重寫onDestroy函數。這完全在文檔的例子中。

+0

沒有anwsers,只是編輯的..天啊!!!! – user1427211 2012-07-21 20:10:37