Android FlurryAdListener实现

Android FlurryAdListener实现,android,ads,flurry,Android,Ads,Flurry,我希望在我的应用程序中实现flurry广告,但我在执行时会以各种方式出现各种错误,我希望在基本活动中实现它,然后在我遵循flurry随SDK提供的指南提前进行的活动中显示广告 我更希望有一种方法可以创建一个实现代码的新类,并且不需要编辑基本活动 这是我的基本活动,目前我已经删除了所有与flurry相关的代码 package com.sahaab.muslimzone.activity; import java.util.ArrayList; import java.util.List; im

我希望在我的应用程序中实现flurry广告,但我在执行时会以各种方式出现各种错误,我希望在基本活动中实现它,然后在我遵循flurry随SDK提供的指南提前进行的活动中显示广告

我更希望有一种方法可以创建一个实现代码的新类,并且不需要编辑基本活动

这是我的基本活动,目前我已经删除了所有与flurry相关的代码

package com.sahaab.muslimzone.activity;

import java.util.ArrayList;
import java.util.List;

import com.sahaab.android.muslimzone.test.R;
import com.sahaab.muslimzone.main.CustomDrawerAdapter;
import com.sahaab.muslimzone.main.DrawerItem;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;


public abstract class MyActivity extends Activity {

    public DrawerLayout mDrawerLayout;
    public ListView mDrawerList;  
    List<DrawerItem> dataList;
    public ActionBarDrawerToggle mDrawerToggle;   
    public CharSequence mDrawerTitle;
    public CharSequence mTitle;
    CustomDrawerAdapter adapter;   
    public TextView mActivityHeader; 
    public RelativeLayout frame;
    RelativeLayout mbanner;
 // Delay is in milliseconds
    static final int DRAWER_DELAY = 200;    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayoutResourceId());

        try
        {
            mbanner = (RelativeLayout) findViewById(R.id.action_bar);

        }
           catch (NullPointerException ne){
        }

    }

    protected abstract int getLayoutResourceId();

    public void onStart() {
        super.onStart();
    }

    public void onStop() {
        super.onStop();
    }

    public Runnable openDrawerRunnable() {
        return new Runnable() {

            @Override
            public void run() {
                mDrawerLayout.openDrawer(Gravity.LEFT);
            }
        };
    }     

    public void BuildDrawer() {
        mActivityHeader = (TextView) findViewById(R.id.app_header_name);

        // Initializing
        dataList = new ArrayList<DrawerItem>();
        mTitle = mDrawerTitle = getTitle();
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        mDrawerList = (ListView) findViewById(R.id.left_drawer); 

        mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
                GravityCompat.START);  

        dataList.add(new DrawerItem("Location", R.drawable.ic_menu_mylocation));        
        dataList.add(new DrawerItem("Settings", R.drawable.ic_menu_preferences)); 
        dataList.add(new DrawerItem("Facebook Page", R.drawable.ic_menu_fb));
        dataList.add(new DrawerItem("Contact Us", R.drawable.ic_menu_send));            
        dataList.add(new DrawerItem("Share", R.drawable.ic_menu_share));            
        dataList.add(new DrawerItem("Info", R.drawable.ic_menu_info_details));  
        dataList.add(new DrawerItem("Donate To Us", R.drawable.ic_menu_blank));           

        adapter = new CustomDrawerAdapter(this, R.layout.drawer_list_item,
                dataList);

        mDrawerList.setAdapter(adapter);        

        mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

        frame = (RelativeLayout) findViewById(R.id.content_frame);

        mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) 
        {
            public void onDrawerSlide(View drawerView, float slideOffset)
            {
                float moveFactor = (mDrawerList.getWidth() * slideOffset);

                frame.setTranslationX(moveFactor);
            }
        };

        mDrawerLayout.setDrawerListener(mDrawerToggle);  


        ImageButton drawerButton = (ImageButton) findViewById(R.id.qpaper_menu);
        drawerButton.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              mDrawerLayout.openDrawer(Gravity.LEFT);
          }
        });             

        mActivityHeader.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              mDrawerLayout.openDrawer(Gravity.LEFT);
          }
        });  

        try
            {        
                ImageButton drawerButtonside = (ImageButton) findViewById(R.id.actionbar_drawer_arrow);
                drawerButtonside.setOnClickListener(new View.OnClickListener()
                {
                  public void onClick(View paramAnonymousView)
                  {
                      mDrawerLayout.openDrawer(Gravity.RIGHT);
                  }
                });  
            }           
                catch (NullPointerException ne){
            }

        try
        {        
            ImageButton locationbuttonside = (ImageButton) findViewById(R.id.actionbar_location_button);
            locationbuttonside.setOnClickListener(new View.OnClickListener()
            {
              public void onClick(View paramAnonymousView)
              {
                  mDrawerLayout.openDrawer(Gravity.RIGHT);
              }
            });  
        }           
            catch (NullPointerException ne){
        }    

        try
        {        
            ImageButton searchbuttonquran = (ImageButton) findViewById(R.id.actionbar_search_button_quran);
            searchbuttonquran.setOnClickListener(new View.OnClickListener()
            {
              public void onClick(View paramAnonymousView)
              {
                  mDrawerLayout.openDrawer(Gravity.RIGHT);
              }
            });  
        }           
            catch (NullPointerException ne){
        }   

        try
        {        
            ImageButton searchbuttoncalendar = (ImageButton) findViewById(R.id.actionbar_search_button_calendar);
            searchbuttoncalendar.setOnClickListener(new View.OnClickListener()
            {
              public void onClick(View paramAnonymousView)
              {
                  mDrawerLayout.openDrawer(Gravity.RIGHT);
              }
            });  
        }           
            catch (NullPointerException ne){
        }         



        RelativeLayout textmuslimzone = (RelativeLayout) findViewById(R.id.drawer_header);
        textmuslimzone.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
            launchActivity(MainActivity.class);
          }
        });             

        RelativeLayout texttimings = (RelativeLayout) findViewById(R.id.drawer_timing);
        texttimings.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
            launchActivity(IqamahActivity.class);
          }
        });  

        RelativeLayout textquran = (RelativeLayout) findViewById(R.id.drawer_quran);
        textquran.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          { 
            launchActivity(InfoActivity.class);
          }
        });             

        RelativeLayout textcalendar = (RelativeLayout) findViewById(R.id.drawer_calendar);
        textcalendar.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
            launchActivity(InfoActivity.class);
          }
        });   

        RelativeLayout textqibla = (RelativeLayout) findViewById(R.id.drawer_qibla);
        textqibla.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          { 
            launchActivity(InfoActivity.class);
          }
        });             

        RelativeLayout textiqamah = (RelativeLayout) findViewById(R.id.drawer_iqamah);
        textiqamah.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              launchActivity(IqamahActivity.class); 
          }
        }); 

        RelativeLayout texthadiths = (RelativeLayout) findViewById(R.id.drawer_hadiths);
        texthadiths.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              launchActivity(InfoActivity.class);
          }
        });             

        RelativeLayout textstories = (RelativeLayout) findViewById(R.id.drawer_stories);
        textstories.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              launchActivity(IqamahActivity.class);
          }
        });        

        RelativeLayout textdua = (RelativeLayout) findViewById(R.id.drawer_dua);
        textdua.setOnClickListener(new View.OnClickListener()
        {
          public void onClick(View paramAnonymousView)
          {
              launchActivity(DuaActivity.class);
          }
        });            

    }

    private void launchActivity(Class<?> paramClass)
    {
      startActivity(new Intent(getApplicationContext(), paramClass));
    }    

    public void SelectItem(int possition) {      
        switch (possition) {  
        case 0:     
            AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
            builder1.setTitle("Location");
            builder1.setMessage("How would you like to obtain your location?");
            builder1.setPositiveButton(R.string.auto_detect, new DialogInterface.OnClickListener() { // create an auto_detect string

                public void onClick(DialogInterface dialog, int which) {
                    // Your code for the onClick
                }
             });
            builder1.setNegativeButton(R.string.set_location, new DialogInterface.OnClickListener() { // create a set_location string
                public void onClick(DialogInterface dialog, int which) {
                    // Again some code for onClick
                }
             });
            builder1.setIcon(R.drawable.ic_menu_mylocation); // Have an icon in the pop up if you want. Remove line if you don't :P
            builder1.show();        
            break;
        case 1:
              startActivity(new Intent(getApplicationContext(), InfoActivity.class));             
              break;
        case 2:
            try {
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/533969810047241"));
                startActivity(intent);
            } catch(Exception e) {
                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com/MuslimZoneApp")));
            }          
            break; 
        case 3:
          Intent i = new Intent(Intent.ACTION_SEND);
          i.setType("message/rfc822");
          i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});
          i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
          i.putExtra(Intent.EXTRA_TEXT   , "body of email");
          try {
              startActivity(Intent.createChooser(i, "Send mail..."));
          } catch (android.content.ActivityNotFoundException ex) {
              Toast.makeText(this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
          }             
          break;              
        case 4:
                Intent localIntent = new Intent("android.intent.action.SEND");
                localIntent.setType("text/plain");
                localIntent.putExtra("android.intent.extra.SUBJECT", getResources().getString(R.string.share_intent_subject));
                Resources localResources = getResources();
                Object[] arrayOfObject = new Object[1];
                arrayOfObject[0] = getString(R.string.muslimzone_url);
                localIntent.putExtra("android.intent.extra.TEXT", localResources.getString(R.string.share_intent_body, arrayOfObject));
                startActivity(Intent.createChooser(localIntent, getResources().getString(R.string.share_intent_subject)));
                break;                  
        case 5:
          startActivity(new Intent(getApplicationContext(), InfoActivity.class));             
          break;   
        case 6:   
            AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
            builder2.setTitle("Donation");
            builder2.setMessage("Please Pick Your Donation Option. ( 10 - 90 % of the donations will be donated to a charity )");
            builder2.setPositiveButton("Google Play Store", new DialogInterface.OnClickListener() { // create an auto_detect string

                public void onClick(DialogInterface dialog, int which) {
                    Intent locatIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=com.sahaab.android.muslimzone.donation"));
                    startActivity(locatIntent);     
                }
             });
            builder2.setNegativeButton("PayPal", new DialogInterface.OnClickListener() { // create a set_location string
                public void onClick(DialogInterface dialog, int which) {
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SSS4364EUZSBL")));
                }
             });
            builder2.show();            


            break;                
        default:
              break;
        }


  }    


    @Override
    public void setTitle(CharSequence title) {
          mTitle = title;
          mActivityHeader.setText(mTitle);
    }

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {
          super.onPostCreate(savedInstanceState);
          // Sync the toggle state after onRestoreInstanceState has occurred.
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
          // The action bar home/up action should open or close the drawer.
          // ActionBarDrawerToggle will take care of this.
          if (mDrawerToggle.onOptionsItemSelected(item)) {
                return true;
          }

          return false;
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
          super.onConfigurationChanged(newConfig);
          // Pass any configuration change to the drawer toggles
          mDrawerToggle.onConfigurationChanged(newConfig);
    }    



    private class DrawerItemClickListener implements ListView.OnItemClickListener {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
                SelectItem(position);

        }
    }




}

在实现FlurryAdListener.OnAdListener时,需要在以下参考中列出所有方法

只需将所有方法添加到代码中,例如

   @Override
   public void onAdOpened (String adSpace) {
       Log.d("Flurry", "onAdOpened");
   } 

您不会有错误。

thnx,我现在刚刚修复:-/我想做的主要事情是不必为每个活动都实现FlurryAdListener,我用我的基本活动等为它找到了修复方法
The type MainActivity must implement the inherited abstract method FlurryAdListener.onAdOpened(String)
   @Override
   public void onAdOpened (String adSpace) {
       Log.d("Flurry", "onAdOpened");
   }