提高安卓APP开发效率、管理代码的架子(一):BaseActivity&BaseApplication

BaseActivity
package com.appstore;

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

import java.util.LinkedList;
import java.util.List;

/**
 * 抽取BaseActivity   管理所有activity 方便退出
 * @author itcast
 *
 */
public class BaseActivity extends FragmentActivity {
    // 管理运行的所有的activity
    public final static List<BaseActivity> mActivities = new LinkedList<BaseActivity>();
    public static BaseActivity activity;

//  private KillAllReceiver receiver;
//  private class KillAllReceiver extends BroadcastReceiver{
//
//      @Override
//      public void onReceive(Context context, Intent intent) {
//          finish();
//      }
//  }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//      receiver=new KillAllReceiver();
//      IntentFilter filter=new IntentFilter("com.app.killall");
//      registerReceiver(receiver, filter);

        synchronized (mActivities) {//管理Activity同步
            mActivities.add(this);
        }
        init();//其他初始化
        initView();//视图控件初始化
        initActionBar();//actionbar初始化
    }

    @Override
    protected void onResume() {
        super.onResume();
        activity = this;

    }

    @Override
    protected void onPause() {
        super.onPause();
        activity = null;
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        synchronized (mActivities) {
            mActivities.remove(this);
        }
//      if(receiver!=null){
//          unregisterReceiver(receiver);
//          receiver=null;
//      }
    }

    public void killAll() {
        // 复制了一份mActivities 集合
        List<BaseActivity> copy;
        synchronized (mActivities) {
            copy = new LinkedList<BaseActivity>(mActivities);
        }
        for (BaseActivity activity : copy) {
            activity.finish();
        }
        // 杀死当前的进程
 android.os.Process.killProcess(android.os.Process.myPid());
    }
    protected void initActionBar() {
    }
    protected void initView() {
    }
    protected void init() {
    }
}
BaseApplicaion
import android.app.Application;
import android.content.Context;
import android.os.Handler;

/**
 * Created by stephen on 2016/10/30.
 */

public class BaseApplication extends Application {

    private static BaseApplication application;
    private static int mainTid;
    private static Handler handler;
    @Override
//  在主线程运行的
    public void onCreate() {
        super.onCreate();
        application=this;
        mainTid = android.os.Process.myTid();
        handler=new Handler();
    }
    public static Context getApplication() {
        return application;
    }
    public static int getMainTid() {
        return mainTid;
    }
    public static Handler getHandler() {
        return handler;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值