zoukankan      html  css  js  c++  java
  • Android 中BaseActivty

    Base接口

    IBaseActivity
    package liu.basedemo.base;
    
    /**
     * 基类接口
     * Created by 刘楠 on 2016/7/28 0028.23:05
     */
    public interface IBaseActivity {
    
    
        /**
         * 返回视图的布局(setContentView中使用)
         * @return 返回视图的布局
         */
         int bindLayout();
    
        /**
         * 初始化View(onCreate方法中调用)
         */
         void    initView();
    
        /**
         * 初始化数据(onCreate方法中调用)
         */
        void initData();
    
        /**
         * 初始监听器(onCreate方法中调用)
         */
        void initListener();
    
        /**
         * 暂停恢复刷新相关操作(onPause方法中调用)
         */
        public void pause();
    
        /**
         * 暂停恢复刷新相关操作(onResume方法中调用)
         */
        public void resume();
    
        /**
         * 暂停恢复刷新相关操作(onStop方法中调用)
         */
        public void stop();
    
    
        /**
         * 销毁,释放资源等操作在(onDestory方法中谳用)
         */
        public void destory();
    }
    BaseActivity
    package liu.basedemo.base;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.LayoutRes;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.Window;
    
    import java.lang.ref.WeakReference;
    
    import liu.basedemo.MyApplication;
    import liu.basedemo.R;
    
    /**
     * Activity基类
     * Created by 刘楠 on 2016/7/28 0028.23:02
     */
    public abstract class BaseActivity extends AppCompatActivity implements IBaseActivity {
    
        /**
         * 全局应用 
         */
        MyApplication mMyApplication;
        /**
         * 弱引用
         */
        WeakReference<Activity> mTask;
    
        @Override
        public void setContentView(@LayoutRes int layoutResID) {
            super.setContentView(layoutResID);
        }
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            /**
             * 设置布局
             */
    
            setContentView(bindLayout());
    
            /**
             * 抽象方法
             */
            initView();
            initData();
            initListener();
    
            
            mMyApplication =MyApplication.getInstance();
            mTask = new WeakReference<Activity>(this);
            /**
             * 添加任务栈
             */
            mMyApplication.pushTask(mTask);
        }
    
        @Override
        public void pause() {
            super.onPause();
        }
    
        @Override
        public void stop() {
            super.onStop();
        }
    
        @Override
        public void destory() {
            super.onDestroy();
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
    
            /**
             * 移除任务栈
             */
            mMyApplication.removeTask(mTask);
        }
    
        @Override
        public void startActivity(Intent intent) {
            super.startActivity(intent);
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    
        @Override
        public void startActivityForResult(Intent intent, int requestCode) {
            super.startActivityForResult(intent, requestCode);
            /**
             * 过场动画
             */
            overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
        }
    }
     
     
  • 相关阅读:
    【成本管理】成本核算
    CW23:Work Log
    SQLSERVER数据库连接
    Oracle 创建用户 修改用户密码 授权命令
    CW24:WORK LOG
    ORA12560: TNS: 协议适配器错误的解决方法
    需求工程概述
    日语学习1:送气音和不送气音
    junit测试框架简单应用
    Java之Socket编程
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5716623.html
Copyright © 2011-2022 走看看