你的位置:首页 > 操作系统

[操作系统]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);  }}