Android FlurryAdListener实现
我希望在我的应用程序中实现flurry广告,但我在执行时会以各种方式出现各种错误,我希望在基本活动中实现它,然后在我遵循flurry随SDK提供的指南提前进行的活动中显示广告 我更希望有一种方法可以创建一个实现代码的新类,并且不需要编辑基本活动 这是我的基本活动,目前我已经删除了所有与flurry相关的代码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
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");
}