• android baseApplication 基类


    package com.free.csdn.base;

    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;

    import com.free.csdn.config.CacheManager;
    import com.free.csdn.util.CrashHandler;
    import com.tencent.bugly.crashreport.CrashReport;

    import android.app.Activity;
    import android.app.Application;

    /**
    * 应用Application类
    *

    */

    public class BaseApplication extends Application {

    private static BaseApplication mInstance;
    private List<Activity> mActivities = new ArrayList<Activity>();

    // 单例模式中获取唯一的ExitApplication 实例
    public static BaseApplication getInstance() {
    if (null == mInstance) {
    mInstance = new BaseApplication();
    }
    return mInstance;

    }

    @Override
    public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    init();
    }

    private void init() {
    // TODO Auto-generated method stub
    initImageLoader();

    // 使用腾讯BUGLY上传崩溃信息
    initCrashReport();
    }

    /**
    * 初始化ImageLoader
    */
    private void initImageLoader() {

    }

    /**
    * 初始化CrashHandler(保存在本地)
    */
    @SuppressWarnings("unused")
    private void initCrashHandler() {
    CrashHandler crashHandler = CrashHandler.getInstance();
    crashHandler.init(this);
    Thread.currentThread().setUncaughtExceptionHandler(crashHandler);
    }

    /**
    * 初始化崩溃上传(腾讯BUGLY)
    */
    private void initCrashReport() {
    CrashReport.initCrashReport(this, "900007710", false);
    }

    /**
    * 重载系统获取缓存目录
    */
    @Override
    public File getCacheDir() {
    // TODO Auto-generated method stub
    return new File(CacheManager.getAppCachePath(this));
    }

    @Override
    public File getDatabasePath(String name) {
    // TODO Auto-generated method stub
    return new File(CacheManager.getAppDatabasePath(this));
    }

    /**
    * 把Activity加入历史堆栈
    *
    * @param activity
    */
    public void addActivity(Activity activity) {
    mActivities.add(activity);
    }

    /**
    * 结束
    */
    @Override
    public void onTerminate() {
    super.onTerminate();

    for (Activity activity : mActivities) {
    activity.finish();
    }

    System.exit(0);
    }
    }

    此为调用这个类的方法

    package com.free.csdn.base;

    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;

    import com.umeng.analytics.MobclickAgent;

    /**
    * FragmentActivity-基类
    *
    * @author tangqi
    * @data 2015年8月10日上午12:07:57
    */

    public class BaseFragmentActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    BaseApplication.getInstance().addActivity(this);
    }

    @Override
    protected void onPause() {
    super.onPause();
    MobclickAgent.onPause(this);
    }

    @Override
    protected void onResume() {
    super.onResume();
    MobclickAgent.onResume(this);
    }
    }

  • 相关阅读:
    解析Java反射java.lang.IllegalArgumentException: wrong number of arguments
    java中参数" ..."的用法和意思
    Synchronized方法锁、对象锁、类锁区别
    瀚云平台kafka简单原理
    ReflectionUtils.invokeMethod的作用
    实用———springmvc接收参数校验
    卷积神经网络CNN
    第一个TensorFlow程序
    TF从文件中读取数据
    TF基础5
  • 原文地址:https://www.cnblogs.com/jeno-song/p/5102847.html
Copyright © 2020-2023  润新知