Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 中BaseActivty,androidbaseactivty

Android 中BaseActivty,androidbaseactivty

編輯:關於android開發

Android 中BaseActivty,androidbaseactivty


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);
    }
}

 

 
 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved