package com.bosi.chineseclass;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.Toast;
import com.bosi.chineseclass.components.LoadingDialog;
import com.daimajia.androidanimations.library.Techniques;
import com.daimajia.androidanimations.library.YoYo;
import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.http.HttpHandler;
import com.umeng.analytics.MobclickAgent;
public class BaseActivity extends FragmentActivity {
protected BitmapUtils mBitmapUtils;
protected Activity mContext;
public LoadingDialog mLoadingDialog;
private final Object mSyObject = new Object();
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
this.mContext = this;
ViewUtils.inject(this);
BSApplication.getInstance().mActivityStack.push(this);
mLoadingDialog = new LoadingDialog(this);
}
public String getResourceFromId(int id) {
return getResources().getString(id);
}
public void showLoadingDialog() {
synchronized (mSyObject) {
mLoadingDialog.show();
}
}
public void updateProgress(int progress, int max) {
if (mLoadingDialog.mDialog==null||!mLoadingDialog.mDialog.isShowing()) {
showLoadingDialog();
}
if(progress == max){
dismissProgress();
}
mLoadingDialog.updateProgress(progress, max);
}
public void dismissProgress() {
mLoadingDialog.dismiss();
}
public String getStringFormat(String format, String... args) {
return format.format(format, args);
}
@Override
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
@Override
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
BSApplication.getInstance().mActivityStack.remove(this);
System.gc();
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onStop() {
super.onStop();
}
HttpHandler<String> mHttpHandler;
@Override
public void onBackPressed() {
super.onBackPressed();
}
public void showToastLong(String text) {
Toast.makeText(this, text, Toast.LENGTH_LONG).show();
}
public void showToastShort(String text) {
Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}
public void playYoYo(View mView) {
YoYo.with(Techniques.Shake).duration(700).playOn(mView);
}
//通过开一个线程去快速的实现一个异步的任务
public void AsyTaskBaseThread(final Runnable mTask,final Runnable mResult){
new Thread(){
public void run(){
mTask.run();
mResult.run();
}
}.start();
}
}