package com.waps.demo160;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.*;
import com.waps.*;
public class DemoApp extends Activity implements View.OnClickListener,
UpdatePointsNotifier {
private TextView pointsTextView;
private TextView SDKVersionView;
// 虚拟货币名称
private String currencyName = "";
// 虚拟货币余额
private int pointTotal;
String displayText;
boolean update_text = false;
final Handler mHandler = new Handler();
//广告条layout.
LinearLayout adLinearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AppLog.enableLogging(true);
// 连接服务器. 应用启动时调用(此句必须填写)
// AppConnect.getInstance(this);
AppConnect.getInstance("09f277ca386ee99cb4c910e09f562112",this);
// 设置状态栏中“推送广告”的图标(此设置为可选,未添加此句代码,则使用默认图标)
// AppConnect.getInstance(this).setPushIcon(R.drawable.icon);
// 设置状态栏中“推送广告”及“推送消息”是否有提示音(此设置为可选,默认没有提示音)
// AppConnect.getInstance(this).setPushAudio(true);
// 错误报告接口:
//AppConnect.getInstance(this).setCrashReport(true);
adLinearLayout = (LinearLayout) findViewById(R.id.AdLinearLayout);
Button offers = (Button) findViewById(R.id.OffersButton);
Button owns = (Button) findViewById(R.id.OwnsButton);
Button getPoints = (Button) findViewById(R.id.PointsButton);
Button spendPoints = (Button) findViewById(R.id.SpendPointsButton);
Button tabButton = (Button) findViewById(R.id.pushAdButton);
Button feedbackBurron = (Button) findViewById(R.id.Feedback);
Button awardBurron = (Button) findViewById(R.id.awardButton);
Button pushInfoButton = (Button) findViewById(R.id.pushInfoButton);
offers.setOnClickListener(this);
owns.setOnClickListener(this);
getPoints.setOnClickListener(this);
spendPoints.setOnClickListener(this);
tabButton.setOnClickListener(this);
feedbackBurron.setOnClickListener(this);
awardBurron.setOnClickListener(this);
pushInfoButton.setOnClickListener(this);
pointsTextView = (TextView) findViewById(R.id.PointsTextView);
SDKVersionView = (TextView) findViewById(R.id.SDKVersionView);
SDKVersionView.setText("SDK版本: " + AppConnect.LIBRARY_VERSION_NUMBER);
//互动广告调用方式
LinearLayout container =(LinearLayout)findViewById(R.id.AdLinearLayout);
new AdView(this, container).DisplayAd();
// 迷你广告调用方式
//AppConnect.getInstance(this).setAdBackColor(Color.argb(50, 120, 240, 120));//设置迷你广告背景颜色
//AppConnect.getInstance(this).setAdForeColor(Color.YELLOW);//设置迷你广告文字颜色
LinearLayout miniLayout =(LinearLayout)findViewById(R.id.miniAdLinearLayout);
new MiniAdView(this, miniLayout).DisplayAd(10);//10秒刷新一次
}
public void onClick(View v) {
if (v instanceof Button) {
int id = ((Button) v).getId();
switch (id) {
case R.id.OffersButton:
// 显示推荐应用列表(Offer).
AppConnect.getInstance(this).showOffers(this);
break;
case R.id.pushAdButton:
// 手动调用推送广告
AppConnect.getInstance(this).getPushAd();
break;
case R.id.pushInfoButton:
// 调用推送消息,其中三项参数为在线配置所设置
String title = AppConnect.getInstance(this).getConfig("title");
String content = AppConnect.getInstance(this).getConfig("content");
String url = AppConnect.getInstance(this).getConfig("url");
AppConnect.getInstance(this).pushMessage(title, content, url);
break;
case R.id.SpendPointsButton:
// 消费虚拟货币.
AppConnect.getInstance(this).spendPoints(10, this);
break;
case R.id.awardButton:
// 奖励虚拟货币
AppConnect.getInstance(this).awardPoints(10, this);
break;
case R.id.PointsButton:
// 从服务器端获取当前用户的虚拟货币.
// 返回结果在回调函数getUpdatePoints(...)中处理
AppConnect.getInstance(this).getPoints(this);
break;
case R.id.Feedback:
// 用户反馈
AppConnect.getInstance(this).showFeedback();
break;
case R.id.OwnsButton:
// 显示自家应用列表
AppConnect.getInstance(this).showMore(this);
break;
}
}
}
// @Override
// public boolean onKeyDown(int keyCode, KeyEvent event) {
// if(keyCode == event.KEYCODE_BACK){
// this.finish();
//// System.exit(0);
// }
// return super.onKeyDown(keyCode, event);
// }
@Override
protected void onDestroy() {
AppConnect.getInstance(this).finalize();
super.onDestroy();
}
@Override
protected void onResume() {
AppConnect.getInstance(this).getPoints(this);
super.onResume();
}
// 创建一个线程
final Runnable mUpdateResults = new Runnable() {
public void run() {
if (pointsTextView != null) {
if (update_text) {
pointsTextView.setText(displayText);
update_text = false;
}
}
}
};
/**
* AppConnect.getPoints()方法的实现,必须实现
* @param currencyName 虚拟货币名称.
* @param pointTotal 虚拟货币余额.
*/
public void getUpdatePoints(String currencyName, int pointTotal) {
update_text = true;
// 获取虚拟货币名称及总值
this.currencyName = currencyName;
this.pointTotal = pointTotal;
displayText = currencyName + ": " + pointTotal;
mHandler.post(mUpdateResults);
}
/**
* AppConnect.getPoints() 方法的实现,必须实现
* @param error 请求失败的错误信息
*/
public void getUpdatePointsFailed(String error) {
update_text = true;
displayText = error;
mHandler.post(mUpdateResults);
}
}